Go 1.21.0 がリリースされた

no extension

予定通り8月に Go 1.21.0 がリリースされた。

お気づきだろうか。 今回のバージョン番号は 1.21 ではなく 1.21.0 なのですよ。 これからは2月8月の初期リリースでも後ろにちゃんと 1.xx.0 って付けるんだってさ。 これで Go の機械的なバージョン管理がしやすくなると思う。

Windows 7, 8, Server 2008, Server 2012 サポート終了のお知らせ

1.21 からは Windows 10 および Windows Server 2016 が最低要件となる。 それより前の Windows バージョンに対応するには 1.20 系が必要。 それでも2024年2月でサポートが終わるんだよな。

log/slog パッケージ

個人的に最大のトピックはこれ。 log/slog 構造化ログパッケージが追加されたこと。 これでサードパーティの logger も log/slog パッケージの下に統合されることを期待したい。

ログなんて「詳細」ですよ。 偉い人には分からんのです。

min/max 組み込み関数

多分,他の言語の人には「今までなかったんかい!」ってツッコまれるんだろうなぁ。 マジでなかったんスよ。 つか,いわゆる Generics が導入されてようやく実現したというか。

slices, maps, cmp パッケージ

slices, maps, cmp 各パッケージの追加も Generics 導入の恩恵だよね。 何せ,今までは配列要素の反転(reverse)でさえ自前で

func reverse(s []int) {
    for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
        s[i], s[j] = s[j], s[i]
    }
}

てな感じに書いてたんだぜ。 クールだろ(笑)

こうやって Go の標準ライブラリのイケてないところが徐々に解消されていくといいねぇ。 math/rand/v2 のプロポーザルとか見てても,着々と Go 2 に進んでる気がする。

例によって…

Ubuntu の APT で管理している Go コンパイラは古いので,ダウンロードページからバイナリ(go1.21.0.linux-amd64.tar.gz)を取ってきてインストールすることを強く推奨する。 以下は完全手動での作業例。

$ cd /usr/local/src
$ sudo curl -L "https://go.dev/dl/go1.21.0.linux-amd64.tar.gz" -O
$ cd ..
$ sudo unlink go # 以前の Go が入っている場合
$ sudo tar xvf src/go1.21.0.linux-amd64.tar.gz
$ sudo mv go go1.21.0
$ sudo ln -s go1.21.0 go
$ go version # /usr/local/go/bin にパスが通っている場合
go version go1.21.0 linux/amd64

Windows は Scoop 経由で OK

複数バージョンの Go コンパイラを扱いたい場合は

$ go install golang.org/dl/go1.21.0@latest
$ go1.21.0 download
$ go1.21.0 version
go version go1.21.0 linux/amd64

てな感じで導入できる。

アップデートは計画的に。

ブックマーク

(随時追加予定)

参考図書

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
丸善出版 2016-06-20
単行本(ソフトカバー)
4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN), 9784621300251 (ISBN)
評価     

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。

reviewed by Spiegel on 2016-07-13 (powered by PA-APIv5)

photo
初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
Jon Bodner (著), 武舎 広幸 (翻訳)
オライリージャパン 2022-09-26
単行本(ソフトカバー)
4814400047 (ASIN), 9784814400041 (EAN), 4814400047 (ISBN)
評価     

2021年に出た “Learning Go” の邦訳版。私は版元で PDF 版を購入。 Go 特有の語法(idiom)を切り口として Go の機能やパッケージを解説している。 Go 1.19 対応。

reviewed by Spiegel on 2022-10-11 (powered by PA-APIv5)

photo
実用 Go言語 ―システム開発の現場で知っておきたいアドバイス
渋川 よしき (著), 辻 大志郎 (著), 真野 隼記 (著)
オライリージャパン 2022-04-22
単行本(ソフトカバー)
4873119693 (ASIN), 9784873119694 (EAN), 4873119693 (ISBN)
評価     

版元のデジタル版を購入。 Go で躓きやすい点を解説していくのが最初の動機らしい。「◯◯するには」を調べる際にこの本を調べるといいかも。

reviewed by Spiegel on 2022-10-26 (powered by PA-APIv5)

photo
Go言語による並行処理
Katherine Cox-Buday (著), 山口 能迪 (翻訳)
オライリージャパン 2018-10-26
単行本(ソフトカバー)
4873118468 (ASIN), 9784873118468 (EAN), 4873118468 (ISBN)
評価     

Eブック版もある。感想はこちら。 Go 言語で並行処理を書くならこの本は必読書になるだろう。

reviewed by Spiegel on 2020-01-13 (powered by PA-APIv5)

photo
Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築
Travis Jeffery (著), 柴田 芳樹 (翻訳)
オライリージャパン 2022-08-03
単行本(ソフトカバー)
4873119979 (ASIN), 9784873119977 (EAN), 4873119979 (ISBN)
評価     

版元でデジタル版を購入。読書会の課題図書。ハンズオンぽい構成でコードがたくさん書かれているのがよい。

reviewed by Spiegel on 2022-08-03 (powered by PA-APIv5)

photo
Goならわかるシステムプログラミング 第2版
渋川よしき (著), ごっちん (イラスト)
ラムダノート 2022-03-23
単行本(ソフトカバー)
4908686122 (ASIN), 9784908686122 (EAN), 4908686122 (ISBN)
評価     

第1版はとてもためになる内容だったので第2版も PDF 版で確保しておく。

reviewed by Spiegel on 2022-10-08 (powered by PA-APIv5)

photo
デベロッパーゴースーパーゴラン Tシャツ
Geek Go Super Golang Tees
ウェア&シューズ
B09C2XBC2F (ASIN)
評価     

ついカッとなってポチった。反省はしない

reviewed by Spiegel on 2022-04-10 (powered by PA-APIv5)