初始go,其中有意思的地方
- 語法糖,…type,
func myfunc(args …int){}
myfunc(1,2,3)
或者用數據切片
func myfunc(args []int){}
myfunc([]int{1,2,3}) - 協程在主線程結束後結束,協程與協程之間獨立
- 函數傳指針是操作原數據,傳值是操作拷貝的數據。
不傳指針=複製傳值=方法只對結構的副本修改,方法執行完了你會發現原結構沒變化。
另外傳指針代價小,試想一個巨大的結構體肯定要複製內存的,複製指針的代價小多了。 - defer是Go語言提供的關鍵字,常用來釋放資源,會在函數返回之前進行調用。如果有多個defer表達式,調用順序類似於棧,越後面的defer表達式越先被調用