Go учебник
Начало работы с Go
Поиск…
замечания
Go - это открытый, скомпилированный, статически типизированный язык в традициях Algol и C. Он может похвастаться такими функциями, как сбор мусора, ограниченная структурная типизация, функции безопасности памяти и простое в использовании параллельное программирование CSP .
Версии
Последняя версия основной версии выделена жирным шрифтом . Полная история выпуска доступна здесь .
Версия | Дата выхода |
---|---|
1.8.3 | 2017-05-24 |
1.8.0 | 2017-02-16 |
1.7.0 | 2016-08-15 |
1.6.0 | 2016-02-17 |
1.5.0 | 2015-08-19 |
1.4.0 | 2014-12-04 |
1.3.0 | 2014-06-18 |
1.2.0 | 2013-12-01 |
1.1.0 | 2013-05-13 |
1.0.0 | 2012-03-28 |
Привет, мир!
Вставьте следующий код в имя файла hello.go
:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
Когда Go
установлен правильно, эту программу можно скомпилировать и запустить следующим образом:
go run hello.go
Выход:
Hello, 世界
Когда вы довольны кодом, он может быть скомпилирован в исполняемый файл, запустив:
go build hello.go
Это создаст исполняемый файл, соответствующий вашей операционной системе в текущем каталоге, который затем можно запустить с помощью следующей команды:
Linux, OSX и другие Unix-подобные системы
./hello
Windows
hello.exe
Примечание . Китайские символы важны, потому что они показывают, что строки Go хранятся в виде разделов байтов только для чтения.
FizzBuzz
Другим примером программ стиля «Hello World» является FizzBuzz . Это один из примеров реализации FizzBuzz. Очень идиоматический Go in play здесь.
package main
// Simple fizzbuzz implementation
import "fmt"
func main() {
for i := 1; i <= 100; i++ {
s := ""
if i % 3 == 0 {
s += "Fizz"
}
if i % 5 == 0 {
s += "Buzz"
}
if s != "" {
fmt.Println(s)
} else {
fmt.Println(i)
}
}
}
Перечислить переменные среды Go
Переменные среды, которые влияют на инструмент go
, можно просмотреть с помощью команды go env [var ...]
:
$ go env
GOARCH="amd64"
GOBIN="/home/yourname/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/yourname"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build059426571=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
По умолчанию он печатает список как сценарий оболочки; однако, если одно или несколько имен переменных указаны как аргументы, оно печатает значение каждой именованной переменной.
$go env GOOS GOPATH
linux
/home/yourname
Настройка среды
Если Go не был предварительно установлен в вашей системе, вы можете перейти на https://golang.org/dl/ и выбрать платформу для загрузки и установки Go.
Чтобы настроить базовую среду разработки Go, необходимо установить только несколько из многих переменных среды, которые влияют на поведение инструмента go
(см. Список переменных пересылки Go для полного списка) (обычно в файле ~/.profile
вашей оболочки файл или эквивалент на Unix-подобных ОС).
GOPATH
Как и системная PATH
среды PATH
, Go path представляет собой :
( ;
в Windows) список каталогов, где Go будет искать пакеты. Инструмент go get
также загружает пакеты в первый каталог в этом списке.
GOPATH
- это то, где Go будет GOPATH
связанные папки bin
, pkg
и src
необходимые для рабочей области:
-
src
- расположение исходных файлов:.go
,.c
,.g
,.s
-
pkg
- скомпилировал.a
файлы -
bin
- содержит исполняемые файлы, созданные Go
Начиная с Go 1.8, GOPATH
среды GOPATH
будет иметь значение по умолчанию, если оно не установлено. По умолчанию он равен $ HOME / перейти на Unix / Linux и% USERPROFILE% / перейти на Windows.
Некоторые инструменты предполагают, что GOPATH
будет содержать один каталог.
GOBIN
Каталог bin, куда go install
и go get
будет размещать двоичные файлы после создания main
пакетов. Как правило, это устанавливается где-то в системе PATH
так что установленные исполняемые файлы могут быть легко запущены и обнаружены.
GOROOT
Это местоположение вашей установки Go. Он используется для поиска стандартных библиотек. Очень редко приходится устанавливать эту переменную, поскольку Go вставляет путь сборки в инструментальную цепочку. Настройка GOROOT
необходима, если каталог установки отличается от каталога сборки (или значения, заданного при создании).
Доступ к документации в автономном режиме
Для полной документации запустите команду:
godoc -http=:<port-number>
Для тура Go (рекомендуется для начинающих на языке):
go tool tour
Две приведенные выше команды запустит веб-серверы с документацией, подобной той, что находится в Интернете здесь и здесь, соответственно.
Для быстрой проверки ссылок из командной строки, например, для fmt.Print:
godoc cmd/fmt Print
# or
go doc fmt Print
Общая справка также доступна из командной строки:
go help [command]
Запуск онлайн
Игровая площадка Go Go
Одним из немногих известных инструментов Go является игровая площадка Go Go . Если вы хотите поэкспериментировать с Go, не загружая его, они могут легко сделать это просто. , ,
- Посещение игровой площадки в их веб-браузере
- Ввод кода
- Нажав «Выполнить»,
Обмен кодом
На игровой площадке Go также есть инструменты для совместного использования; если пользователь нажимает кнопку «Поделиться», будет создана ссылка (например, эта ), которая может быть отправлена другим людям для тестирования и редактирования.