gpt4 book ai didi

go - 此代码中的 T 是什么

转载 作者:IT王子 更新时间:2023-10-29 00:37:05 26 4
gpt4 key购买 nike

这段代码中真正的 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

编辑:我已经使用 Go 一年多了。

最佳答案

它看起来像一个 function type .在声明中,T 是返回 T 的无参数函数,因此是返回函数的函数。那就是类型声明。 a 是这种类型的 T。

a 是一个返回自身的函数,所以这些行基本上都做同样的事情:

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

我想不出它有什么好的用途,但话又说回来,我在 Go 方面的经验还很不足。

关于go - 此代码中的 T 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20229116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com