Основы Golang

Основы Golang

Debian-Lab

Файл программы Go - это обычный текстовый файл UTF-8 с расширением ".go". Таким образом, Вы можете редактировать программу Go в любых текстовых редакторах, таких как notepad, sublime text или IDE (таких как VS Code или WebStorm). Вы также можете использовать терминальные редакторы, такие как vim или nano.

 💡 Если вы используете Visual Studio Code, то советую Вам установить расширение vscode-go. Оно поможет вам написать код лучше и упростить его отладку.

Установка Golang на Windows:

Cкачиваем и устанавливаем Go по ссылке

Установка Golang на Linux:

$ sudo apt install go


Структура Go программы

Каждая программа Go должна быть включена в пакет. Автономная исполняемая программа написанная на Golang обязательно должна иметь основную функцию, а также быть включена в основной пакет. Основная функция - это точка входа в исполнение.

Автономная программа может быть построена в исполняемый файл с помощью команды "go build" или запущена с помощью команды "go run".
package main
import "fmt"

func main() {
    fmt.Println("Hello World!")
}

В приведенной выше программе мы определили пакет main в верхней части файла а также добавили метод main, который будет выполняться при запуске этой программы.


Мы также импортировали пакет fmt из стандартной библиотеки Go (он поставляется вместе с установкой Go). Чтобы импортировать пакет, мы используем ключевое слово import, за которым следует имя пакета в двойных кавычках.


Пакет fmt используется нами для простейшей печати сообщений в терминал. Данный пакет предоставляет различные функции для регистрации любых данных в стандартный вывод (STDOUT) в различных форматах.


В приведенном выше примере мы использовали функцию Println, которая выводит аргументы в виде строк на стандартный вывод или терминал.

Запуск программы

Чтобы запустить нашу программу написанную на Golang (Конечно же при условии, что вы установили его в своей системе), Вам нужно указать компилятору Go - скомпилировать и запустить программу с помощью команды "go run" с относительным или абсолютным путем к файлу исполняймой программы.


Если мы поместим наш написанный код программы в файл "hello.go", то команда для запуска этой программы из той же директории этого файла будет такой, как показано ниже.

$ go run hello.go

Запуск выведет следующее сообщение в терминал:

Hello World!

Если вы хотите запустить несколько файлов Go одновременно, вы можете дать шаблон или упомянуть все файлы - всего лишь в одной команде!

$ go run dir/*.go
$ go run dir/**/*.go
$ go run file-a.go file-b.go file-c.go

Вы можете запускать несколько файлов Go одновременно, поэтомы Вам дается возможность разделить проект на разные части кода в их отдельные файлах. Это полезно для управления большими проектами и создания модульного кода. Однако среди них может существовать только один основной метод (main).


Если файл зависит от функции или переменной написанной в другом файле, то Вам также необходимо добавить этот файл на этапе компиляции с помощью команды run или build. Именно так мы обычно и компилируем проект на C или C++.


Для создания двоичного файла нужно использовать команду "go build":

$ go build hello.go

Приведенная выше команда создаст двоичный исполняемый файл hello в текущем каталоге, который Вы можете запустить из терминала:

$ ./hello

Чтобы развернуть двоичные файлы в каталог "bin", Вам необходимо использовать следующую команду:

$ go install hello.go

Это позволит установить бинарный файл "hello" в каталог "bin" вашего текущего пространства. Поскольку каталог "bin" находится в пути вашей системы, мы можем выполнить теперь его из любого места.

$ hello
Hello World!

Если вы работаете с несколькими файлами, команда "go install *.go" или "go install file-1.go file-2.go ..." также создаст двоичный файл в каталоге "bin".


Комментарии

Go использует тот же формат, как и комментарии, используемые в таких языках программирования, как JavaScript или C++. Для однострочного комментария, вы можете использовать "//" и "/* Hi */" для многострочных

// Я однострочный комментарий.
// Я другой однострочный комментарий.
/*
    Я - блочный коммент.
    t.me/debian_lab.
    Согласись, Golang неплох)
*/

⏳ Наш основной канал - @debian_lab

Report Page