Go 泛型嵌套类型如何实例化?
golang泛型嵌套的问题
go语言引入了泛型后,嵌套泛型类型时可能会遇到一些困惑,比如以下代码:
type slice[t int | string | float32 | float64] []t type wowmap[t int | string] map[string]slice[t]
这里嵌套了两个泛型类型,那么如何实例化这个嵌套的map呢?
根据泛型的规则,嵌套泛型类型需要指定最外层类型的参数,才能确定最内层类型的参数。因此,实例化wowmap时,需要先指定最外层泛型参数t,再指定最内层泛型参数t。
以下是实例化的代码:
a := WowMap[string]{"123": Slice[string]{"1"}} b := WowMap[int]{"123": Slice[int]{1}} fmt.Println(a, b)
这样就可以正确地实例化嵌套泛型类型wowmap。
以上就是Go 泛型嵌套类型如何实例化?的详细内容,更多请关注其它相关文章!