gpt4 book ai didi

map - 类型映射的 golang 匿名字段

转载 作者:IT王子 更新时间:2023-10-29 00:40:34 24 4
gpt4 key购买 nike

我想我可以通过使用匿名字段来制作有序的 map 类型:

type customMap struct{
map[string]string
ordered []string
}

我可以在其中使用 customMapInstance["key"] 引用 map 并遍历 ordered。 las,数组和映射似乎不是有效的匿名字段。我怀疑这是有充分理由的...

最佳答案

来自规范:

An embedded type must be specified as a type name T or as a pointer to a non-interface type name *T, and T itself may not be a pointer type.

你看到它提到了一个"typename"。

Named types are specified by a (possibly qualified) type name; unnamed types are specified using a type literal, which composes a new type from existing types.

换句话说,映射或 slice 可能不是匿名的,除非它们被定义为命名类型。例如:

type MyMap map[string]string

type customMap struct{
MyMap
ordered []string
}

但是,即使您嵌入了 MyMap 或 slice 类型,您仍然无法为 customMap 建立索引。嵌入时只能“提升”字段和方法。对于其他一切,它们只是另一个领域。在上面的示例中,MyMap 没有任何字段或方法,因此等同于:

type customMap struct{
MyMap MyMap
ordered []string
}

关于map - 类型映射的 golang 匿名字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26447066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com