Github上的"the way to Go"翻譯有時候真讓人搞不懂,我經常會暈,比如
如果需要申明一个在外部定义的函数,你只需要给出函数名与函数签名,不需要给出函数体:
func flushICache(begin, end uintptr) // implemented externally
什麼意思?如果是在一個文件裏寫的話,這樣的聲明看起來是多餘的。但是如果要分開來在不同的文件裏吧,編譯器一定會給你一個函數聲明重複的錯誤。另外一個就是“不过我们也可以定义没有形参名的函数,只有相应的形参类型,就像这样:
func f(int, int, float64)
。没有参数的函数通常被称为 niladic 函数(niladic function)”。到底這個niladic函數在什麼情景下用,如何使用這些參數,我想不出來。那爲什麼要有這樣的特性呢?還有在傳遞可變參數一節“func myFunc(a, b, arg ...int) {}”這個例子也比較坑,正確的應該是“func myFunc(a type, b type, arg ...int) {}”