Go言語についてのメモ②(並列処理)

Go言語のに並列処理のサンプルです。 関数で定義した処理を必要なプロセス分呼び出すだけです。 test.go package main import ( "fmt" "time" "math/rand" ) func main(){ fmt.Printf("start.\n") go hello("go1") go hello("go2") time.Sleep(3 * time.Second) fmt.Printf("end.\n") } func hello(go_routine string){ for i := 0; i < 10; i++ { fmt.Printf("%s %d: hello, world.\n", go_routine, i) time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond) } } 実行結果 $ go run test.go start. go1 0: hello, world. go2 0: hello, world. go1 1: hello, world. go2 1: hello, world. go1 2: hello, world. go2 2: hello, world. go2 3: hello, world…

続きを読む

Go言語についてのメモ①(環境構築と動作確認)

Goは2009年にGoogleより発表されたプログラミング言語です。 シンプルな言語体系によりプログラミングが非常に容易であることが特徴です。多種多様のプログラミング言語があるなか学習コストが抑えられるというのは非常に大きいことだと思います。 また、軽量な動作で強力な処理能力を持ちます。実際に使ってみたんですが、数百のプロセスからなる並列処理を簡単に実装できました。 今回このGo言語を仕事で扱う機会がありましたので、忘れないうちにまとめておこうと思います。 環境構築 インストール先 /usr/local/go インストール手順 $ cd /usr/local $ # もちろんwgetでなくても可 $ # WARNING: certificateが出るなら --no-check-certificate $ wget https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz $ tar xvpf go1.5.1.linux-amd64.tar.gz $ rm go1.5.1.linux-amd64.tar.gz ※バージョンは適時修正 環境変数の設定 $ export GOROOT=/usr/local/go $ export GOPATH=/usr/local/go/.go $ PATH=$PATH:$HOME/…

続きを読む

もっと見る

スポンサーリンク