Давайте узнаем, как настроить и создать приложение Golang.

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

Предпосылки:

  • Установить

Если на вашем компьютере еще не установлен go, перейдите здесь.

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

ПУТЬ:

Нам нужно изменить наш GOPATH на то, что имеет смысл для нас. По умолчанию наш GOPATH указывает на /Users/<username>/go. Если вы похожи на меня, вы можете захотеть сохранить свой код go с другим подобным кодом (например, /Users/<username>/Desktop/code/go). Для этого нам нужно обновить ~/.bash_profile или ~/.zshrc следующим образом.

Сначала создайте папку go:

$~: cd Desktop
$~: mkdir -p code/go

Обновите профиль Bash или Zshrc с помощью GOPATH:

# GO Path
export GOPATH=$HOME/Desktop/code/go

Затем нам нужно получить эти изменения.

Профиль Bash:

$~: source ~/.bash_profile

Zshrc:

$~: source ~/.zshrc

Первый проект:

Теперь мы собираемся создать новый каталог с именем github.com/username в $GOPATH/src/github.com/<username>. Идея заключается в том, что вы заменяете <username> на свое имя пользователя github, иначе просто используете свое имя (например, ryan). Затем мы собираемся создать файл с именем hello.go по адресу $GOPATH/src/github.com/<username>/hello/hello.go.

$~: cd $GOPATH
$go: mkdir -p src/github.com/serverlessguru/hello
$go: cd src/github.com/serverlessguru/hello
$hello: vi hello.go

Это откроет VI, который мы будем использовать для создания нашей первой функции go. Когда откроется текстовый редактор, нажмите i. Это переведет текстовый редактор в режим вставки, что позволит нам вносить изменения.

hello.go:

package main
import "fmt"
func main() {
   fmt.Println("Hello, world!")
}

Чтобы выйти, нажмите «esc», введите «:wq», затем нажмите «enter», и вы должны вернуться к своему терминалу.

Построить приложение:

Теперь у нас есть файл hello.go, созданный с помощью некоторого кода. Попробуем его построить. Если все работает, вы должны увидеть файл с именем hello.

$hello: go build
$hello: ls
hello hello.go

Вы также должны увидеть нет вывода в терминале. Это хороший знак.

Тестовое приложение:

Давайте протестируем приложение, запустив только что созданный файл приветствия.

$hello: ./hello
Hello, world!

Сохранить исполняемый файл в корзине:

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

$hello: go install

И снова вы должны увидеть нет вывода, если установка прошла успешно. Теперь давайте вернемся в каталог go и запустим ls, чтобы просмотреть содержимое каталога.

$hello: cd $GOPATH
$go: ls
bin src
$go: ls bin
hello

Как видите, теперь у нас есть папка с именем bin, а внутри bin у нас есть двоичный файл с именем hello. Это потрясающе!

Установите PATH для перехода/bin:

Это позволит нам легко запускать наши двоичные файлы go из любого места в терминале.

export PATH=$PATH:$(go env GOPATH)/bin

Протестируйте наш двоичный файл:

Давайте попробуем протестировать наш двоичный файл, просто набрав имя двоичного файла (например, привет).

$go: hello
Hello, world!

Вот и все, это наше первое приложение go. Это очень просто, но это только начало! 🎉🎉🎉

Обзор

  • Скачал
  • Настройка структуры каталогов
  • Создано первое приложение
  • Установленный двоичный файл в каталог bin нашего рабочего пространства
  • Экспортировал PATH в корзину и выполнил бинарный файл!

Дополнительный контент:

Что делает Serverless Guru?

Serverless Guru помогает компаниям создавать масштабируемые и экономичные приложения в облаке. Мы помогаем обучать компании тому, как использовать IAC, бессерверные и облачные сервисы. Мы помогаем перенести существующие приложения в облако и оптимизировать существующие приложения в облаке, чтобы сделать их более рентабельными. Мы являемся Партнером по разработке бессерверных решений и Партнером-консультантом AWS.

Что мы пропустили?

Когда вы оставите свой ответ, обязательно либо прокомментируйте его ниже, либо напишите свой ответ в @serverlessgurux в Твиттере.

Райан Джонс

Основатель — Serverless Guru

LinkedIn — @ryanjonesirl

Твиттер — @ryanjonesirl

Спасибо за прочтение 😃

Если вы хотите узнать больше о Serverless Guru, подпишитесь на нас в Medium, Twitter, Instagram, Facebook или LinkedIn!