今更 Go を触ってみた
Docker のランダムな文字列を作るやつが、ふと気になったのでインストールしてみることにしました。Go 言語で書かれているらしいです。
moby/names-generator.go at master · moby/moby · GitHub
Go インストール
Downloads - The Go Programming Language
上の URL から環境にあったバイナリをダウンロードします。
$ wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz $ sha256sum go1.9.1.linux-amd64.tar.gz
展開してインストール。
$ ls /usr/local/go ls: cannot access '/usr/local/go': No such file or directory $ sudo tar -C /usr/local -xzf go1.9.1.linux-amd64.tar.gz
PATH を追加します。
$ sudo vim /etc/profile.d/go.sh #!/bin/bash export PATH=$PATH:/usr/local/go/bin $ source /etc/profile
Go がインストールできました。
$ go version go version go1.9.1 linux/amd64
names-generator の導入
ソースコードをダウンロードします。
$ wget https://raw.githubusercontent.com/moby/moby/master/pkg/namesgenerator/names-generator.go
内容を少し書き換えます。
$ vim names-generator.go 1. package を namesgenerator から main に変更 < package main --- > package namesgenerator 2. import に "time" を追加 < "time" 3. main 関数を追加 < func main() { < rand.Seed(time.Now().UnixNano()) < fmt.Println(GetRandomName(0)) < }
ビルドします。
$ go build names-generator.go
動かしてみます。問題なく動いたら、バイナリを移動していつでも使えるようにしておきます。
$ ./names-generator optimistic_liskov $ sudo mv names-generator /usr/local/bin/
おわりに
names-generator.go のソースコードに以下の記載があります。
退屈なウォズニアックは存在しないので、やり直しだそうです。
if name == "boring_wozniak" /* Steve Wozniak is not boring */ { goto begin }