Golang中逗号分隔字段的结构体标签添加问题
同一行的Go结构体字段能不能加标签?
当然可以!Go语言完全支持在同一行用逗号分隔的结构体字段后面直接添加结构体标签,不需要把每个字段单独拆成行。
举个实际的例子,假设你原本的结构体是这样写的(多个字段挤在一行):
type User struct { Name, Age string }
要给这两个字段分别加上JSON和数据库映射的标签,直接在每个字段后面跟上对应的标签就行,语法完全合法:
type User struct { Name string `json:"name" db:"username"`, Age int `json:"age" db:"user_age"` }
要是其中某个字段不需要标签,也可以只给需要的那个加,剩下的保持原样:
type User struct { Name string `json:"name"`, Age int }
不过这里有个小提醒:虽然语法上没问题,但如果字段和标签都比较多的话,同一行的内容会变得拥挤,可读性会大打折扣——这也是为什么大部分Go开发者习惯把每个字段单独成行的原因。但从语言本身的规则来说,你想要的这种写法是完全被支持的。
内容的提问来源于stack exchange,提问作者Harry Harpham
相关产品推荐
相关产品推荐

