【Go初心者】麻雀のあがり判定をRubyで書いたやつをGoで書きなおしてみた、そして多少のvimrc追加
天和あがれるやつをGoで書きなおしてみました。
処理速度は超早くなりました。当社比2000%。
成長の記録(のびしろですね!)。
Go書くのは人生初です。
CもJavaも書いたことなくて、rubyしか書いたことないのですが、
forとifさえあればなんとかなるという感じでやった。後悔はしていない。
インターフェースとか書けるのが嬉しいらしいっぽい、時間あるときに学びたい。
以下、初心者がGoはじめるにあたり環境周りでやったことなど。
vim周り1
golang vimrc
でググッて適当に調べただけで、べんりなものがあった。
.vimrc
へ以下を追記。
事前にnsf/gocodeをgo getしておく。
+ +" http://qiita.com/uchiko/items/4c186292f007535116cc +filetype off +filetype plugin indent off +" set runtimepath+=$GOROOT/misc/vim +filetype plugin indent on +syntax on +autocmd FileType go autocmd BufWritePre <buffer> Fmt +exe "set rtp+=".globpath($GOPATH, "src/github.com/nsf/gocode/vim") +set completeopt=menu,preview
vim周り2
golangといえばハードタブ。
私のvimrcではC-iはソフトタブが挿入されちゃう感じだったので、拡張子で判断できるように変更。
+ +" http://blog.restartr.com/2014/04/20/vimrc-noexpandtab-in-golang/ +if expand("%:t") =~ ".*\.go" + set noexpandtab + set tabstop=4 + set shiftwidth=4 +endif
以上2つの変更で、:w
で保存した時に自動的にgo fmt的なのが走る感じになる。
go、pythonなんて比じゃないぐらい固い言語という印象を持った。
Go書けるようになりたい!
いまのところまだよくわかってないところ箇条書き:
- なぞの「interface」
- ダックタイピングできるらしい
- なぞの「goroutine」
- 並列処理書きたい
- テスト
- テストフレームワークがないのはわかった、どういう感じで書くのがいいんだろう
次は七対子解決と七対子以外解決をゴルーチンで並列処理するという野望を持っています
— 俺がJOINだ (@hoppiestar) 2016, 1月 3