Я пытаюсь выяснить, почему это работает.
У меня есть структура 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.name работает, если item должен быть адресом?