go - 如何定义go struct的key和value

标签 go 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/

相关文章:

C:使用结构比较文件中的 2 个字符串

go - 如何在 Go 程序中添加暂停?

go - Go中的二级缓存(内存+redis)实现

go - 数据竞赛无法理解

go - 如何从 Visual Studio Code 中的包覆盖范围中排除生成的模拟

c++ - 段错误 - 从指针到指针的 printf 值

c - 取消引用指向不完整类型的指针 'struct ____'

go - K8s中如何根据与pod的交互获取用户的ip

c - 用 linux/list.h 初始化链表

在 Golang 中解码为结构的 JSON 标记