golang 個人筆記和心得

關於語法

go 在語法中做了改變, 官方的說法是, 改這樣的原因是因為這樣比較好閱讀. 接著來比較 c 和 go 的語法

以宣告 variable 來看

int add;     //c
var add int  //go

go 還多一個 var, 似乎也沒有比較方便

以 function 來看

int add(int a, intb);     //c
func add(a int, b int)int //go

也還好, 不過比較起來 go 比較容易分辨出是 variable 還是 function, 但是差距也沒有很大, 而且 go 還需要多打字.

如果宣告一個 function pointer 然後輸入一個 function pointer 變數

int (*fp)(int (*ff)(int x, int y), int b)  //c
f func(func(int,int) int, int) int         //go

c 已經有點讓人混亂了, 且不好閱讀.

go 這樣是不是有比較清楚?

個人是覺得有, 還很明顯.

再加個回傳 function pointer 的宣告比較.

int (*(*fp)(int (*)(int, int), int))(int, int)     //c 
f func(func(int,int) int, int) func(int, int) int  //go

結論 : 真的有差.

參考 :

gos-declaration-syntax