можем обращатся к значениям полeй без явной операции dereferencing, иначе говоря использовать синтаксический сахар го, а когда у нас есть указатель только на ОДНО поле экземпляра структуры там мы должны явно совершать dereferencing?
какая-то подмена понятий. Ты сравниваешь разные вещи так, как будто они одинаковые. Предположим, есть функция принимающая указатель, например, на инт и функция принимающая указатель на структуру: func(value *int) func(value *myStruct) Можем ли мы передать в первую не указатель на инт, а просто инт? Не можем. Может ли мы во вторую передать не указатель на структуру, а просто структуру? Тоже не можем. Эти вещи можно сравнить. Когда ты обращаешься к полю структуры, то делаешь: (*myStruct).MyField тут дереференсинг неявный возможен: myStruct.MyField а с чем это сравнить у переменной (у того, что ты называешь полем)? Не с чем. Нет у того же инта чего-то, к чему можно было бы сделать: a := 42 b := &a b.MyField
Обсуждают сегодня