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

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

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

Sorry, your browser does not support SVG.

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

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

*func() int

関連。