小编pla*_*guy的帖子

Go错误:无法在没有实例化的情况下使用泛型类型

在学习 Go 泛型时,我遇到了一个似乎无法解决的错误。我把它归结为最简单的代码:

type opStack[T any] []T

func main() {

    t := make(opStack)
    //  t := new(opStack)
    t = append(t, 0)
    fmt.Println(t[0])
}
Run Code Online (Sandbox Code Playgroud)

在操场上,这会在调用时(以及在注释掉的调用make()上类似)出现问题,并显示以下错误消息:new

无法在没有实例化的情况下使用泛型类型 opStack[T any]

但是make()是一个实例化函数。所以,我希望我错过了一些语法上的微妙之处。Go 抱怨什么以及需要纠正什么?

generics go

35
推荐指数
1
解决办法
4万
查看次数

标签 统计

generics ×1

go ×1