在golang的泛型特性中,开发者可以创建泛型类型,通过为类型参数提供所需类型信息来实例化它们。然而,涉及到嵌套泛型时,实例化可能会带来一些疑惑。
问题:
如何实例化如下所示的嵌套泛型类型?
立即学习“go语言免费学习笔记(深入)”;
type slice[t int | String | float32 | float64] []t type wowmap[t int | string] map[string]slice[t]
登录后复制
答案:
要实例化嵌套泛型类型,需要指定内部泛型类型的具体类型以及外部泛型类型的具体类型。以下代码展示了如何实例化指定的嵌套泛型类型:
package mAIn import "fmt" type slice[t int | string | float32 | float64] []t type wowmap[t int | string] map[string]slice[t] func main() { // 实例化一个其内部泛型类型为string的wowmap[string] a := wowmap[string]{"123": slice[string]{"1"}} // 实例化一个其内部泛型类型为int的wowmap[int] b := wowmap[int]{"123": slice[int]{1}} fmt.println(a, b) }
登录后复制
输出:
map[123:[1]] map[123:[1]]
登录后复制
此代码创建一个内部泛型类型为string的”wowmap[string]”实例”a”和一个内部泛型类型为int的”wowmap[int]”实例”b”。然后,它打印出这两个变量的内容。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容