2012/10/4発売の「プログラミング言語Goフレーズブック」(以下、フレーズブック)と
2012/11/21発売の「基礎からわかる Go言語」(以下、基礎Go)をようやく読み終えました。
フレーズブック
<div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
posted with <a href="http://www.amazlet.com/" title="amazlet" target="_blank">amazlet</a> at 12.12.22
</div>
</div>
<div class="amazlet-detail">
David Chisnall デイビッド・チズナール <br />ピアソン桐原 <br />売り上げランキング: 414,479
</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/486401096X/kwmt27-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
</div>
</div>
フレーズブックは、下記の2012/4/30に発売された「The Go Programming Language Phrasebook (Developer’s Library)」という本の日本語版です。
<div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
posted with <a href="http://www.amazlet.com/" title="amazlet" target="_blank">amazlet</a> at 12.12.22
</div>
</div>
<div class="amazlet-detail">
David Chisnall <br />Addison-Wesley Professional <br />売り上げランキング: 173,081
</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/0321817141/kwmt27-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
</div>
</div>
どうでもいいかもですが、フレーズブックの日本語版は、原著よりサイズ的に大きそうです。
(参考記事:Goフレーズブックと原著のサイズ比較 #golang)
フレーズブックは、訳者まえがきにもありますが、初心者向けではないとのことです。
Go言語のインストール手順が明記されていないことからみても、超初心者向けではないことがわかります。
この本のサブタイトルに「使いこなすためのコード&イディオム100+」とあり、使いこなすためのコードが多く紹介されています。
内容はGo言語の特徴はすべて網羅していると思います。
いろいろ役に立ちそうなコードがあったのですが、ひとつだけ紹介すると、6.2で出てくる下記のコードです。
package main
import "fmt"
func main() {
str := "Go言語"
//これを行なってはいけない・・・①
for i := 0; i < len(str); i++ {
fmt.Printf("%c", str[i])
}
fmt.Printf("\n")
//代わりにこちらを使う・・・②
for _, c := range str {
fmt.Printf("%c", c)
}
fmt.Printf("\n")
}
文字列中の文字をループする単純な方法は、forループを使用することですが、
①の方法はバイト単位でループし、文字単位ではないため、
マルチバイト文字なんかは、Go言語の文字列はUTF-8なので、正しく読み取れないことになります。
②ではrangeを使っていますが、これを使えばたいていは正しく読み取れるとのこと。
このような使いこなすためのコードが他にもたくさんあります。
読み終える期間としては、昼間仕事して夜や土日に写経したりして、本でも分からないところは
公式ページみたりして勉強したとしても1ヶ月かからないくらいでした。
基礎Go
<div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
posted with <a href="http://www.amazlet.com/" title="amazlet" target="_blank">amazlet</a> at 12.12.22
</div>
</div>
<div class="amazlet-detail">
古川 昇 <br />シーアンドアール研究所 <br />売り上げランキング: 147,016
</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4863541171/kwmt27-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
</div>
</div>
この本は表紙にも書いてありますが、Go言語の入門に最適な1冊だと思います。
開発環境の構築方法から始まり(Windows,Mac,Linuxに対応)、
Go言語の基本的な文法が8章まで続き、最後に9章で逆引きサンプルが57サンプルもあり
充実した内容となっていると思います。
フレーズブックとかぶっていることころも多いのですが、
フレーズブックは訳本ということもあり、すこし癖が強く若干読みづらい箇所があります。
それにくらべて、基礎Goは、日本人が書いているためとても読みやすいと思います。
少し残念なのは、フレーズブックには1ページちょっとですがユニットテストの説明がありましたが、
基礎Goにはユニットテストの説明がなかったことぐらいでしょうか。
次回、基礎からわかるGo言語2なるものが出る際は、ご検討ください。
期間ですが、これもフレーズブックと同じように写経したりして、
全部で51節ありそのうち最初の20節はさっと読んだだけですが、
だいたい20日ぐらいでした。
補足
上記の本の順番は、発売順に書いたものです。また、どちらの本もGoバージョン1に対応しています。
Go1に対応していませんが、Google App Engineであれば、こちらが参考になると思います。(私は持ってませんが、、、すみませn)
<div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
posted with <a href="http://www.amazlet.com/" title="amazlet" target="_blank">amazlet</a> at 12.12.23
</div>
</div>
<div class="amazlet-detail">
横山 隆司 <br />秀和システム <br />売り上げランキング: 535,048
</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798031801/kwmt27-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
</div>
</div>
comments powered by Disqus