Held at Fuller, Inc. office.
sudo apt-get install golang
brew install go
$GOPATH/src/github.com/user/hello/
内に hello.go
を作って以下のコードを入れましょう。
package main
import "fmt"
func main() {
fmt.Printf("Hello, world!\n")
}
入力が完了したら
go install github.com/user/hello
とするとビルドされ実行できるようになる。なお、カレントディレクトリがコードの入ったフォルダの場合は単にgo install
とすることでもビルドできる。
$ $GOPATH/bin/hello
Hello, world!
$ hello
Hello, world!
Hello Worldと同様に $GOPATH/src/github.com/user/
内にフォルダを作るとライブラリが作れる。
例としてstringutil
というライブラリを作る。
mkdir $GOPATH/src/github.com/user/stringutil
reverse.go
と名付けたファイルに以下のコードを入れる。
// Package stringutil contains utility functions for working with strings.
package stringutil
// Reverse returns its argument string reversed rune-wise left to right.
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
(from official document)
ビルドする。
go build github.com/user/stringutil
先ほどのhello.goを以下のように書き換えて動作を見る。(userは適宜書き換える)
package main
import (
"fmt"
"github.com/user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
ここでgo install
すると、依存関係にあるライブラリも適宜インストールされる。実行してみよう。
$ hello
Hello, Go!
$GOPATH/pkg/
内にビルドされたライブラリがパッケージされているのがわかる。
Goのソースコードの最初の構文は必ず、
package name
でなければならない。name
はインポート時に使われるパッケージ名である。同じパッケージ内のファイルはすべて同じname
を使わなければならない。
ちなみにcrypto/rot13
のような場合はrot13
で参照できる。
省略