2013-11-26 2 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

Случай использования: это используется Роб Пайк в [его разговорах о лексическом сканировании в Go] (http://www.youtube.com/watch?v=HxaD_trXwRE&feature=player_detailpage#t=846). – nemo

0

GolezTrol является правильным. T - тип. t является переменной величиной T. t содержит ссылку функционировать

Я добавил типа S функции, которая возвращает int вместо S и сравнивал, как она работает и что она возвращает

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

Смежные вопросы