登录
首页 >  Golang >  Go问答

无法推断 T 、泛型多种类型

来源:stackoverflow

时间:2024-04-11 12:09:33 251浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《无法推断 T 、泛型多种类型》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

func CreateSlice[T int | string](length int) []T {
    return make([]T, length)
}

尝试学习 go 并想使用 slicesgenerics 。上面你可以看到我想说的t可以是或者int或者string => t int |字符串。当我创建这个函数时,编译器对这种情况没有说什么,但在我调用它的那一刻,它说 cannot infer t

slices.createslice(10)

有什么限制吗,或者我在语法上犯了一些错误吗?


正确答案


编译器无法从 slices.createslice(10) 确定 t,因为 t 未用作参数。通过显式指定 t 进行修复:

slices.CreateSlice[int](10)    // evaluates to []int with len(10)
 slices.CreateSlice[string](10) // evaluates to []string with len(10)

以上就是《无法推断 T 、泛型多种类型》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>