I’m trying to figure out why this works.
I have an Item struct
type item struct {
name string
someOtherValue int
}
and another struct
type someStruct struct {
items []item
}
I have a function where I want to loop through and update the values.
func (s someStruct) update() {
for i := range s.items {
item := &s.items[i]
if item.name == “Something” {
doSomething(item)
}
}
}
When I pass item to the doSomething function, it will update the item at that address (works as planned).
My question is, why does item.name work if item supposed to be an address?