KDOC 46: Goの宣言構文がCと異なる理由

Goの宣言構文は、C言語と異なっている。Goの設計者は、C言語でのわかりにくさを改善するためにGoでの宣言構文を採用したという。C言語のネストした型宣言は順番通りに読めずわかりにくい。

表現しようとしている型の図。

20231014-pointer.drawio.svg

int (*x) () // => * func() int

Goはそのまま左から右に読める。

*func() int

関連。

Backlinks