我看过这样的代码:
type Product struct {
Name string `db:"product_name"`
Id int `db:"id"`
}
type Stocks {
Name string `db:"stock_name"`
Price float `db:"price"`
Type string `db:"type"`
}
尽管此代码可以编译,但是怎么可能呢?结构的成员必须由名称和以下类型组成。但是,这里还有db:"product_name"
是第三位成员
这怎么可能有效?从Go的角度来看,db:"product_name"
是什么?
答案 0 :(得分:1)
The Go Programming Language Specification
字段声明后可以跟可选的字符串文字标签, 成为相应字段中所有字段的属性 字段声明。空标签字符串等效于缺少标签。 通过反射界面使标签可见并参与 具有结构的类型标识,但被忽略。