-2

我见过这样的代码:

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"第三个成员

这怎么可能有效?db:"product_name"从 Go 的角度来看是什么?

4

1 回答 1

1

Go 编程语言规范

结构类型

字段声明后面可以跟一个可选的字符串文字标记,它成为相应字段声明中所有字段的属性。一个空的标签字符串相当于一个不存在的标签。标签通过反射接口可见,并参与结构的类型标识,但在其他方面被忽略。

于 2018-12-17T16:44:33.920 回答