golang 泛型中嵌套泛型的实例化
在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"。然后,它打印出这两个变量的内容。
以上就是Golang泛型:如何实例化嵌套泛型类型?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com