Golang泛型:如何实例化嵌套泛型类型?
在golang的泛型特性中,开发者可以创建泛型类型,通过为类型参数提供所需类型信息来实例化它们。然而,涉及到嵌套泛型时,实例化可能会带来一些疑惑。
问题:
如何实例化如下所示的嵌套泛型类型?
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泛型:如何实例化嵌套泛型类型?的详细内容,更多请关注其它相关文章!