结构体的字面值赋值问题(指针类型)-刚入门新手
1. 运行环境
//: go version go1.17 darwin/amd64
2. 问题描述?
//:
allProducts 切片的元素是 common.Product的指针类型,理论上 是一个指针,也就是内存地址, 为什么可以直接 赋值 common.Product结构体的字面值?
common包的结构体
type Product struct {
Id int
Name string
Size int
Sale int
ShipAddress string
Price float64
PositiveRatio float64 /
RatioCount int
}
实例化
allProducts := []*common.Product{
{Id: 1, Name: "小勺", Size: 35, Sale: 3582, ShipAddress: "郑州", Price: 6.9, PositiveRatio: 0.76, RatioCount: 364},
{Id: 2, Name: "袜子", Size: 23, Sale: 43654, ShipAddress: "郑州", Price: 6546, PositiveRatio: 0.86, RatioCount: 7},
{Id: 3, Name: "裤子", Size: 354, Sale: 54, ShipAddress: "郑州", Price: 547, PositiveRatio: 0.96, RatioCount: 5436},
}