2012-11-08

Go



這篇記錄最近一個多月學習 Go 的心得。Go 的語法相對於 Object-C 簡潔,後置的資料型態變數宣告,可以懶惰省去資料型態宣告。

有兩件事情是我碰壁許久:

json.Marshal



執行結果會得到:


p1 is: {"FirstName":"John","LastName":"Doe"}.
p2 is: {}.


要輸出的成員變數必須大寫開頭才行,下面的 package 方法同樣套用。


Exported Functions


隨意撰碼都需要模組分割,追問題容易,讀碼速度快。Go 使用資料夾結構定義 package 封裝,捨棄 MakefileHow to Write Go Code 闡述如何做到模組化,所有細節皆有提到就是 Function name 首字要大寫沒提到[1],所以一直看到

./main.go:10: cannot refer to unexported name foo.foo1

程式碼如下:

foo.go

main.go

這是最近的心得。


Updated:
1. 在 The Go Programming Language Specification 的 Exported identifiers 有提到這些細節。