Map 映射为匿名结构成员
我在围棋中遇到了一些我无法完全理解的行为,任何形式的解释都是好的:Map 映射为匿名结构成员,map,go,Map,Go,我在围棋中遇到了一些我无法完全理解的行为,任何形式的解释都是好的: type Test struct{ Name string // or other metadata to be stored along the core map element map[string]string } 上述代码将无法编译,并出现意外映射错误。 这可能是因为结构字段增量必须是类型,但我无法解释为什么map[string]string不是类型 改成 type Embedded map[strin
type Test struct{
Name string // or other metadata to be stored along the core map element
map[string]string
}
上述代码将无法编译,并出现意外映射
错误。
这可能是因为结构字段增量必须是类型,但我无法解释为什么map[string]string
不是类型
改成
type Embedded map[string]string
type Test struct{
Name string
Embedded
}
get围绕编译器错误,但仍然Test[“someKey”]
引发编译器错误
无效操作:测试[“someKey”](类型测试索引)
当然,用Test直接处理异常字段。嵌入式[“someKey”]可以工作,
但我的问题是:
- 为什么文字映射声明在非匿名字段声明中作为类型有效,但在匿名字段中无效
- 为什么索引包含类型不起作用?为什么它不能工作
Test.Embedded[key]
是唯一合法的形式。在这里,您可能会混淆嵌入式字段方法,这些方法是从嵌入式字段继承的,不需要使用字段名和字段值,而字段值必须使用它那么为什么“[]”操作不是继承的方法呢?@joshlf13 B/c运算符不是方法。我想这可能就是答案。