2021/12/20

golangの本を買いにいったが止めた

golang をネットで場当たり的に調べるのも良いが、本を買ってじっくり学ぶというのもやりたい。
私はまだ技術書をデジタル書籍ではうまく扱えないので、本屋さんに行ってきた。

紀伊國屋と丸善を回ったのだが、どちらも同じような状況だった。
買わずに家に帰って調べたのだが(買いに行く前にやれってね)、本屋さんにあったような本しかなかった。

 

入門書でも良いのだけど、インストールの仕方とかツールの使い方とかに比重が置かれているタイプではなく、サーバプログラミングに重点を置いているようなものでもなく、言語仕様に重点が置かれている本が買いたかったのだ。

となると、これしか出てこない。

プログラミング言語Go - 丸善出版 理工・医学・人文社会科学の専門書出版社
https://www.maruzen-publishing.co.jp/item/?book_no=295039

本屋さんにもあったのに買い控えたのは、これが2016年出版と5年前だからだ。オリジナルは2015年。
電子書籍版も2021年5月に出ているのだが、内容が更新されたわけではないだろう。
C言語だと多少古くてもなんとかなると思うのだが、Go言語は最近の言語。
6, 7年も前だと変更がいろいろ行われていそうで止めたのだ。

候補になりそうなのはオライリーさんのだけど、これはまだ日本語になってない。

Learning Go [Book]
https://www.oreilly.com/library/view/learning-go/9781492077206/

というわけで、買うのを止めたのだった。


しかし家に帰ってよく考えたのだが、ツールの使い勝手が変わっても言語自体は変わってないのかも・・・?
そこを調べておくべきだろう。

  • v1.1
    • integer division by zero
    • surrogates in Unicode literals
    • method values
    • return requirements
  • v1.2
    • use of nil
    • three-index slices
  • v1.3
    • 無しなのかな?
  • v1.4
    • for-range loops
    • method calls on **T
  • v1.5
    • map literals
  • v1.6
    • 無し
  • v1.7
    • terminating statements
  • v1.8
    • explicit converting
  • v1.9
    • type aliases
    • 浮動小数点演算の丸め関係
  • v1.10
    • 一応無し
  • v1.11
    • 無し
  • v1.12
    • 無し
  • v1.13
    • リテラルのプレフィクス追加(0b, 0o など)
    • ビットシフト量を unsigned に変更
  • v1.14
    • overlapping interfaces proposal
  • v1.15
    • 無し
  • v1.16
    • 無し
  • v1.17
    • conversions from slice to array pointer
    • unsafe.Add()
    • unsafe.Slice()
  • v1.18
    • これを書いている時点では未定
    • 404 は "to, err := human()" なのね

あまり読まずに抜き出したので、間違いがあったら済まぬ。

 

 

オリジナル本の "The Go Programming Lanuguage" は、どうも v1.5 の時代に書かれているようだ(Contents の PDFより)。

v1.6 以降で気になる変更点は、type alias のサポートとか interface関係かなぁ。
しかし標準ライブラリへの変更や追加もあるだろうから、やっぱり悩むな。。。