Общедоступная учетная запись 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 есть три обычных каталога, которые необходимо тщательно понимать:
- src: хранится исходный код, а также адрес хранения исходного кода проекта Go;
- pkg: сгенерированный пакет после компиляции, то есть файл Go с расширением .a, файл с этим суффиксом представляет собой пакет Go;
- bin: исполняемый файл, сгенерированный после компиляции (Только файлы, которые импортируют основной пакет пакета, компилируются непосредственно в исполняемые файлы.).
компиляция приложения
Создайте проект в 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 после компиляции.
Далее мы можем обратиться к методам в этом пакете, который совпадает с чистой установкой 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:
По любому пути выполните:
myapp
Вывод следующий:
Фактически, вы также можете выполнить команду go build в каталоге приложения для компиляции, и исполняемый файл будет сгенерирован в текущем каталоге, а не установлен в каталоге bin.
Вытащить удаленный пакет
Как язык Go получает удаленный пакет? При разработке Java мы можем автоматически загружать зависимости из центрального репозитория maven в фоновый репозиторий .m2 через maven, но при разработке Go нам нужно только использовать команду go get, чтобы получить пакет зависимостей с удаленного устройства:
go get github.com/astaxie/beego
Эта команда загрузит исходный код в каталог src, скомпилирует исходный код и установит его в каталог pkg:
Поэтому go get эквивалентен git клонированию исходного кода, а затем выполнению go install.
В частности, go 1.12 выпустил модули go в качестве официального инструмента управления зависимостями версии, и мой платежный SDK WeChat с открытым исходным кодом «wxpay» уже поддерживает эту функцию. Я объясню вам модули go отдельно позже.
напиши в конце
Если вам также нравится язык Go, вы можете оставить мне сообщение, чтобы обсудить и изучить его вместе.Я рассмотрю возможность обновления серии статей о языке Go в будущем, чтобы развивать с вами вторые навыки.