這篇記錄最近一個多月學習 Go 的心得。Go 的語法相對於 Object-C 簡潔,後置的資料型態變數宣告,可以懶惰省去資料型態宣告。
有兩件事情是我碰壁許久:
json.Marshal
執行結果會得到:
p1 is: {"FirstName":"John","LastName":"Doe"}.
p2 is: {}.
要輸出的成員變數必須大寫開頭才行,下面的 package 方法同樣套用。
Exported Functions
隨意撰碼都需要模組分割,追問題容易,讀碼速度快。Go 使用資料夾結構定義 package 封裝,捨棄 Makefile。How 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 有提到這些細節。