2013-11-26 266 views

回答

9

它看起來像一個function type。在聲明中,T是一個返回T的無參數函數,所以返回一個函數的函數。這是類型聲明。一個是這種類型T.

一個是返回自身的函數,所以這些線路基本上都做同樣的:

fmt.Printf("%#v", a) 
fmt.Printf("%#v", a()) 
fmt.Printf("%#v", a()()()()()) 

我想不出很好的利用這個的,但話又說回來,我在Go方面經驗不足。

+0

一個是容易的,它返回自身,但我的問題是T. –

+0

T是此函數類型的類型聲明。 T是一個返回T的函數。它有點像遞歸聲明。 :o) – GolezTrol

+5

用例:Rob Pike在[他在Go中的詞彙掃描](http://www.youtube.com/watch?v=HxaD_trXwRE&feature=player_detailpage#t=846)中使用。 – nemo

0

GolezTrol是正確的。 T是類型。 tT類型的變量。 t援引功能

我添加類型S的函數,返回int,而不是S相比它的工作原理以及它返回

http://play.golang.org/p/2VRqmMVQR9