Давайте узнаем, как настроить и создать приложение 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 в корзину и выполнил бинарный файл!
Дополнительный контент:
- Отраслевые прогнозы на 2019 год
- Лучшие практики бессерверной разработки
- Бессерверная CI/CD
- Бессерверные веб-приложения — AWS против GCP
- Бессерверное влияние, скорость разработки
- Гид, первый бессерверный проект
Что делает Serverless Guru?
Serverless Guru помогает компаниям создавать масштабируемые и экономичные приложения в облаке. Мы помогаем обучать компании тому, как использовать IAC, бессерверные и облачные сервисы. Мы помогаем перенести существующие приложения в облако и оптимизировать существующие приложения в облаке, чтобы сделать их более рентабельными. Мы являемся Партнером по разработке бессерверных решений и Партнером-консультантом AWS.
Что мы пропустили?
Когда вы оставите свой ответ, обязательно либо прокомментируйте его ниже, либо напишите свой ответ в @serverlessgurux в Твиттере.
Райан Джонс
Основатель — Serverless Guru
LinkedIn — @ryanjonesirl
Твиттер — @ryanjonesirl
Спасибо за прочтение 😃
Если вы хотите узнать больше о Serverless Guru, подпишитесь на нас в Medium, Twitter, Instagram, Facebook или LinkedIn!