Конфигурация среды Golang и компиляция приложения

Go

Общедоступная учетная запись WeChat «Back-end Advanced», ориентированная на совместное использование серверных технологий: Java, Golang, WEB-инфраструктура, распределенное промежуточное программное обеспечение, управление услугами и т. д.
Старый водитель научил тебя всем деньгам и довел до продвинутого уровня, я не успел объяснить и сесть в автобус!

Язык Go сейчас становится все популярнее, и он появляется в самых разных областях, его без преувеличения можно назвать языком C 21 века, а язык Go — это новый язык, выпущенный в 2009 году. его функции полностью основаны на Разработано современными компьютерами, особенно его сопрограммы goroutine, его не слишком круто использовать в сценариях с высоким параллелизмом, и он очень подходит для написания некоторого высокопроизводительного промежуточного программного обеспечения.

Теперь, когда Интернет быстро развивается, нам также необходимо развивать дополнительные навыки в свободное время, иначе мы скоро будем устранены тенденцией развития Интернета. Как бэкенд-разработчик Java, я освоил язык Go в свободное время еще в конце 2017 года, а также написал платежный SDK WeChat в качестве проекта с открытым исходным кодом для практики, который неожиданно популярен среди пользователей сети GayHub. Почти 200 звезд, это один из самых популярных платежных SDK WeChat на языке Go:

Это также показывает со стороны, что экология языка Go не очень зрелая, но это также потенциал, и я считаю, что язык Go является популярным языком в будущем, поэтому язык Go можно назвать лучшим вторым навык для бэкенд-разработчиков. Выберите один из них.

Он поставляется с такими командами, как go run, go build, go install и т. д., вы можете компилировать и запускать приложения Go.В Java, если вы хотите компилировать быстрее и проще, нам также нужно полагаться на некоторые сторонние инструменты. , такие как инструменты компиляции maven, эти команды Go эквивалентны maven, даже намного проще, чем maven, и по-прежнему поддерживаются изначально.В этой статье в основном рассказывается о рабочем каталоге и правилах компиляции Go, и есть предварительный опыт Путь к простоте.

GOPATH

GOPATH - это путь, зависящий от команды GO и также находится в проекте GO и устанавливает GoPath под системой класса Unix:

export GOPATH=/Users/zhangchenghui/.go

Просмотрите переменную среды Go:

go env

gopath

В каталоге $GOPATH есть три обычных каталога, которые необходимо тщательно понимать:

  • src: хранится исходный код, а также адрес хранения исходного кода проекта Go;
  • pkg: сгенерированный пакет после компиляции, то есть файл Go с расширением .a, файл с этим суффиксом представляет собой пакет Go;
  • bin: исполняемый файл, сгенерированный после компиляции (Только файлы, которые импортируют основной пакет пакета, компилируются непосредственно в исполняемые файлы.).

gopath

компиляция приложения

Создайте проект в src в GOPATH:

cd $GOPATH/src
mkdir mypakage
cd mypakage

Создайте новый test.go:

// $GOPATH/src/mypakage/test.go
package mypakage

import "fmt"

func Test() {
     fmt.Println("test~~~~~")
}

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

Выполните go install в каталоге проекта или выполните go install mypakage в любом каталоге, обратите внимание на пакет package mypakage этого файла, что означает, что пакет будет сгенерирован в каталоге pkg после компиляции.

gopath

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

Создайте новое приложение в каталоге src:

cd $GOPATH/src
mkdir myapp
cd myapp

Новый main.go:

// $GOPATH/src/myapp/main.go
package main

import (
	"fmt"
  	"mypakage"
)

func main() {
  mypakage.Test()
  fmt.Println("hello, go")
}

Следующим шагом является компиляция приложения, вход в каталог приложения, выполнение go install,Поскольку приложение напрямую импортирует основной пакет pakage, это единственный пакет на языке Go, который может напрямую генерировать исполняемые файлы после компиляции., поэтому исполняемый файл myapp создается в $GOPATH/bin:

gopath

По любому пути выполните:

myapp

Вывод следующий:

gopath

Фактически, вы также можете выполнить команду go build в каталоге приложения для компиляции, и исполняемый файл будет сгенерирован в текущем каталоге, а не установлен в каталоге bin.

gopath

Вытащить удаленный пакет

Как язык Go получает удаленный пакет? При разработке Java мы можем автоматически загружать зависимости из центрального репозитория maven в фоновый репозиторий .m2 через maven, но при разработке Go нам нужно только использовать команду go get, чтобы получить пакет зависимостей с удаленного устройства:

go get github.com/astaxie/beego

Эта команда загрузит исходный код в каталог src, скомпилирует исходный код и установит его в каталог pkg:

gopath

Поэтому go get эквивалентен git клонированию исходного кода, а затем выполнению go install.

В частности, go 1.12 выпустил модули go в качестве официального инструмента управления зависимостями версии, и мой платежный SDK WeChat с открытым исходным кодом «wxpay» уже поддерживает эту функцию. Я объясню вам модули go отдельно позже.

напиши в конце

Если вам также нравится язык Go, вы можете оставить мне сообщение, чтобы обсудить и изучить его вместе.Я рассмотрю возможность обновления серии статей о языке Go в будущем, чтобы развивать с вами вторые навыки.

公众号「后端进阶」,专注后端技术分享!