Looking for go Answers? Try Ask4KnowledgeBase
Looking for go Keywords? Try Ask4Keywords

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

Настройка среды

Если 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]
 

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) 
        }
    }
}
 

Детская площадка

Привет, мир!

Вставьте следующий код в имя файла 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 хранятся в виде разделов байтов только для чтения.

Перечислить переменные среды 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 Go

Одним из немногих известных инструментов Go является игровая площадка Go Go . Если вы хотите поэкспериментировать с Go, не загружая его, они могут легко сделать это просто. , ,

  1. Посещение игровой площадки в их веб-браузере
  2. Ввод кода
  3. Нажав «Выполнить»,

Обмен кодом

На игровой площадке Go также есть инструменты для совместного использования; если пользователь нажимает кнопку «Поделиться», будет создана ссылка (например, эта ), которая может быть отправлена ​​другим людям для тестирования и редактирования.

В бою

Игровая площадка Go в действии