我想我缺少技術背景的一部分。但我不明白,為什么我必須使用 * 來訪問簡單指針的值,而不是訪問結構的值。例如一個簡單的值:func main() { i := 42 p := &i *p = 21 // <<< I have to use an asterisk to access the value // ...}還有一個結構示例:type Vertex struct { X int Y int}func main() { v := Vertex{1, 2} p := &v p.X = 1e9 // <<< I do not have to use an asterisk // ...}(是的,樣本來自官方的 go lang 之旅:https ://go-tour-de.appspot.com/moretypes/4 )就我的想法而言,我會期待這樣的事情 *p.X = 1e9或者(是的,這會有點奇怪) p.*X = 1e9那么,為什么我不必使用星號來訪問結構指針呢?
為什么必須對指針使用星號而不是結構指針?
慕田峪7331174
2022-05-18 16:04:25