「Go」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
56行目: 56行目:
 
プロジェクトのソースの保存には {{ic|src}} ディレクトリが、実行可能ファイルには {{ic|bin}} が使われます。
 
プロジェクトのソースの保存には {{ic|src}} ディレクトリが、実行可能ファイルには {{ic|bin}} が使われます。
   
また、{{ic|bin}} ディレクトリのパスを {{ic|$PATH}} [[environment variable|環境変数]]に追加することで (Go 言語で書かれた) インストールしたプログラムを ({{ic|ls}} などと同じように) どこでも実行できるようになります:
+
また、{{ic|bin}} ディレクトリのパスを {{ic|$PATH}} [[環境変数]]に追加することで (Go 言語で書かれた) インストールしたプログラムを ({{ic|ls}} などと同じように) どこでも実行できるようになります:
   
 
export PATH="$PATH:$GOPATH/bin"
 
export PATH="$PATH:$GOPATH/bin"
63行目: 63行目:
   
 
詳細は {{ic|go help gopath}} を実行してください。
 
詳細は {{ic|go help gopath}} を実行してください。
  +
  +
=== 他のプラットフォームのクロスコンパイルを有効にする ===
  +
  +
公式パッケージは Linux の amd64, i386, arm アーキテクチャしかサポートしていません。Darwin, FreeBSD, MS Windows などのクロスコンパイルをサポートするには、以下のコマンドを実行:
  +
  +
$ cd /usr/lib/go/src; for os in darwin freebsd windows; do for arch in amd64 386; do sudo GOOS=$os GOARCH=$arch ./make.bash --no-clean; done; done
  +
  +
{{Note|上記のコマンドは Go パッケージをアップデートするたびに実行する必要があります。}}
  +
  +
詳細は {{Bug|30287}} を参照。
   
 
== 参照 ==
 
== 参照 ==
70行目: 80行目:
 
* [https://gobyexample.com/ 簡単な説明が付いているサンプル]
 
* [https://gobyexample.com/ 簡単な説明が付いているサンプル]
 
* [http://tour.golang.org インタラクティブな Go トレーニングツアー]
 
* [http://tour.golang.org インタラクティブな Go トレーニングツアー]
  +
* [https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins Go の IDE とプラグイン]

2015年8月21日 (金) 13:20時点における版

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
ヒント: go env を実行することで Go の変数を確認できます。

ワークスペースを作成:

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

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

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

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

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

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

他のプラットフォームのクロスコンパイルを有効にする

公式パッケージは Linux の amd64, i386, arm アーキテクチャしかサポートしていません。Darwin, FreeBSD, MS Windows などのクロスコンパイルをサポートするには、以下のコマンドを実行:

$ cd /usr/lib/go/src; for os in darwin freebsd windows; do for arch in amd64 386; do sudo GOOS=$os GOARCH=$arch ./make.bash --no-clean; done; done
ノート: 上記のコマンドは Go パッケージをアップデートするたびに実行する必要があります。

詳細は FS#30287 を参照。

参照