這段代碼中真正的 T 是什么?遞歸減速?package mainimport "fmt"type T func() Tfunc main() { var a T a = func() T { return a } fmt.Printf("%#v", a)}http://play.golang.org/p/zt4CBXgrmI編輯:我使用 Go 已經一年多了。
2 回答

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
它看起來像一個函數類型。在聲明中,T是一個返回一個T的無參數函數,所以一個返回一個函數的函數。那就是類型聲明。a 是這種類型的 T。
a 是一個返回自身的函數,所以這些行基本上都是一樣的:
fmt.Printf("%#v", a)
fmt.Printf("%#v", a())
fmt.Printf("%#v", a()()()()())
我想不出對此有什么好的用途,但話說回來,我在 Go 方面的經驗還很遠。
- 2 回答
- 0 關注
- 257 瀏覽
添加回答
舉報
0/150
提交
取消