为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码中的 T 是什么

这段代码中的 T 是什么

Go
慕丝7291255 2021-06-30 13:00:21
这段代码中真正的 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 方面的经验还很远。


查看完整回答
反对 回复 2021-07-12
  • 2 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信