「Go」の版間の差分
細 (→Jetbrains Goプラグイン: 翻訳進行) |
|||
77行目: | 77行目: | ||
=== Jetbrains Goプラグイン === |
=== Jetbrains Goプラグイン === |
||
− | もしJetbrainsのIDEを使用していてGoプラグインがGo SDK のパスを見つけられない場合、互換性のないパッケージを使用している可能性があります。{{ic|gcc-go}}を削除し、{{ic|go}}で置き換えてください。GOPATHが設定されている場合にはIDEは{{ic|/usr/lib/go}}でGo SDKを見つけられます。 |
+ | もしJetbrainsのIDEを使用していてGoプラグインがGo SDK のパスを見つけられない場合、互換性のないパッケージを使用している可能性があります。{{ic|gcc-go}}パッケージを削除し、{{ic|go}}パッケージで置き換えてください。GOPATHが設定されている場合にはIDEは{{ic|/usr/lib/go}}でGo SDKを見つけられます。 |
== 参照 == |
== 参照 == |
2016年11月27日 (日) 18:11時点における版
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
ワークスペースを作成:
$ mkdir -p ~/go/{bin,src}
プロジェクトのソースの保存には src
ディレクトリが、実行可能ファイルには bin
が使われます。
また、bin
ディレクトリのパスを $PATH
環境変数に追加することで (Go 言語で書かれた) インストールしたプログラムを (ls
などと同じように) どこでも実行できるようになります:
export PATH="$PATH:$GOPATH/bin"
必要な実行可能ファイルが実行できるように $PATH
に bin
ディレクトリも追加します。
詳細は 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
詳細は FS#30287 を参照。
トラブルシューティング
Jetbrains Goプラグイン
もしJetbrainsのIDEを使用していてGoプラグインがGo SDK のパスを見つけられない場合、互換性のないパッケージを使用している可能性があります。gcc-go
パッケージを削除し、go
パッケージで置き換えてください。GOPATHが設定されている場合にはIDEは/usr/lib/go
でGo SDKを見つけられます。