我想弄清楚为什么会这样。
我有一个项目结构
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 会起作用?
函数式编程
相关分类