【发布时间】:2019-01-25 20:19:11
【问题描述】:
我正在试图弄清楚为什么会这样。
我有一个 Item 结构
type item struct {
name string
someOtherValue int
}
和另一个结构
type someStruct struct {
items []item
}
我有一个函数,我想循环并更新值。
func (s someStruct) update() {
for i := range s.items {
item := &s.items[i]
if item.name == “Something” {
doSomething(item)
}
}
}
当我将项目传递给 doSomething 函数时,它将更新该地址处的项目(按计划工作)。
我的问题是,如果 item 应该是地址,为什么 item.name 有效?
【问题讨论】: