Scribble at 2022-05-20 16:00:24 Last modified: 2022-05-21 12:54:40
Caleb Doxsey による、O'Reilly Media から2016年に出た本だ。かなり古くなっているため、アマゾンでも2,000円ちょっとで投げ売り状態となっている。でも、幸いなことに大半の内容は現在でも通用する。なぜなら、本書は Go というプログラミング言語の概略を描くことが目的になっているため、データ型、配列、関数、インターフェイスなどの大まかな解説で Go がどんな特徴をもつ言語なのかが分かればいいように書かれているからだ。そして、先の投稿で Go を実例として出したのは、ちょうど今日の朝から会社に出ていて、本書を読み始めたからだった。いま40ページほど読んだところだが、よく書けていると思う。ただ、他のプログラミング言語を習得している人が勘違いしやすいところを細かく注意してくれてはいないので、本書を読んだだけで自己流に書き始めるとコンパイルでエラーを食らうだろう。
なお、先の投稿で出したクイズは二つ間違いがあると書いたが、一つは left curly bracket (left brace) の位置が行頭に来ていることだ(画面をよく見たら警告する赤い下線が薄く出ているからわかると思うが)。僕のように、もともと Egyptian style の braces 記述を好まないプログラマだと、つい行頭に置いてしまう。しかし、これはコンパイル時にエラーとなる(もちろん、これにはこれで syntax としての正当な理由があるようだ)。
もう一つの間違いは、型宣言の仕方が Java のように「型名 変数名」となっていることだ。Go では変数を導入する方法が三つほどあって、型名は無理に使わなくてもよくなっているのだが、敢えて "string" や "int32" などと型名を使う場合、Go では "var price int = 2000" のように、変数名の後に型名を置くという、ちょっと変わった書式になっている。(この他、"price := 2000" とか "var price = 2000" のようにデータ型を Go のコンパイラに判断させる書式もある。)