Go (日本語) - ArchWiki

# Go (日本語)

Go は C 言語に由来する構文を持つ静的型付言語です。ガベージコレクションによるメモリ管理、型安全性、動的型付けの機能、可変長配列やキーバリューマップなどの型、膨大な標準ライブラリなどが追加されています。

## インストール

今日 Go のコンパイラは2つ存在しており、どちらも公式リポジトリからインストールできます:

- gc: go でインストールできるコンパイラの公式セット 8g(x86), 6g(amd64), 5g(arm) の共通名称
  - コンパイルが高速
- gccgo: gcc-go でインストールできるコンパイラコレクションに含まれている gcc のフロントエンド
  - goroutines に制限がある
  - バイナリのサイズが小さい
  - 優れた最適化

### インストールのテスト

Go が正しくインストールされたかは以下のような小さなプログラムをビルドして確認できます:

    hello.go

    package main

    import "fmt"

    func main() {
        fmt.Println("Hello, Arch!")
    }

go ツールを使って実行:

    $ go run hello.go

    Hello, Arch!

標準の gc コンパイラでコンパイル (`go build -compiler=gc test.go` と同じ):

    $ go build test.go

gccgo でコンパイル (`go build -compiler=gccgo test.go` と同じ):

    $ gccgo test.go -o test

### $GOPATH

`import` ステートメントなどで使用される、Go の依存パッケージは、`$GOPATH` 変数、そして `$GOROOT` (go のインストールディレクトリ、デフォルトでは `/usr/lib/go`) で検索されます。基本の `$GOROOT` からだけでなく、外部の依存パッケージを使う場合は、`~/.bash_profile` (もしくはそれに類する設定ファイル) にワークスペースを指定する必要があります:

    export GOPATH=~/go

Tip: `go env` を実行することで Go の変数を確認できます。

ワークスペースを作成:

    $ mkdir -p ~/go/{bin,src}

プロジェクトのソースの保存には `src` ディレクトリが、実行可能ファイルには `bin` が使われます。

また、`bin` ディレクトリのパスを `$PATH` 環境変数に追加することで (Go 言語で書かれた) インストールしたプログラムを (`ls` などと同じように) どこでも実行できるようになります:

    export PATH="$PATH:$GOPATH/bin"

必要な実行可能ファイルが実行できるように `$PATH` に `bin` ディレクトリも追加します。

詳細は `go help gopath` を実行してください。

## 参照

- Go プログラミング言語のオフィシャルウェブサイト
- Wikipedia の記事
- 簡単な説明が付いているサンプル
- インタラクティブな Go トレーニングツアー

Category:

- Programming language (日本語)