如何定义go struct的键和值[关闭]

问题描述 投票:-2回答:1

当左侧值与右侧值具有相同名称时,编写Golang结构的惯用方法是什么?例:

type Something struct {
  Names Names
}

type Names struct {
  ...
}

谢谢!

go struct
1个回答
4
投票

将名称赋予与其类型名称相同的字段在Go中完全有效,并且经常使用。

标准库中的一些示例:

http.Request的领域:

URL      *url.URL
Header   Header
Response *Response

http.Server的领域:

Handler Handler

png.Encoder的领域:

CompressionLevel CompressionLevel

这不会造成混淆或歧义,因为引用结构变量的字段是varName.FieldName(这总是表示字段而不是它的类型),并且引用类型是declaringPackage.TypeName。即使类型在同一个包中声明(因此declaringPackage“缺失”)也不一样,因为varName不能“空”。

© www.soinside.com 2019 - 2024. All rights reserved.