Что действительно Т в этом фрагменте кода? рекурсивное торможение?Что такое T в этом коде
package main
import "fmt"
type T func() T
func main() {
var a T
a = func() T {
return a
}
fmt.Printf("%#v", a)
}
http://play.golang.org/p/zt4CBXgrmI
Edit: Я использую Go для более года.
легко, он возвращает себя, но на мой вопрос T. –
T - объявление типа для этого типа функции. T - функция, возвращающая T. Это как рекурсивное объявление. : o) – GolezTrol
Случай использования: это используется Роб Пайк в [его разговорах о лексическом сканировании в Go] (http://www.youtube.com/watch?v=HxaD_trXwRE&feature=player_detailpage#t=846). – nemo