<分区>
当左侧值与右侧值同名时,编写 Golang 结构的惯用方法是什么?示例:
type Something struct {
Names Names
}
type Names struct {
...
}
谢谢!
<分区>
当左侧值与右侧值同名时,编写 Golang 结构的惯用方法是什么?示例:
type Something struct {
Names Names
}
type Names struct {
...
}
谢谢!
最佳答案
将名称赋予与其类型名称相同的字段在 Go 中是完全有效的,并且经常被使用。
标准库中的一些示例:
字段http.Request
:
URL *url.URL
Header Header
Response *Response
字段http.Server
:
Handler Handler
字段png.Encoder
:
CompressionLevel CompressionLevel
这不会造成混淆或歧义,因为引用结构变量的字段是 varName.FieldName
(这总是表示字段而不是它的类型),引用类型是 declaringPackage.TypeName
。即使在同一个包中声明了类型,它也不相同(因此 declaringPackage
是“缺失的”),因为 varName
不能为“空”。
关于go - 如何定义go struct的key和value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206295/