假设我们有一个名为Person
的结构,它由一个名为People
的结构持有。
type Person {
Name string
age int
}
type People {
City string
List []*Person //check this out
}
type People2 {
City string
List *[]Person //What's the difference?
}
[]*Person
和*[]Person
到底是什么意思?如何检索这些切片的元素值?
我对 C 更熟悉,所以如果您能用 C 解释这一点,我们将不胜感激
[]*Type
是指向Type
的指针的一部分。*[]Type
是指向Type
切片的指针。
要尊重指针切片中的单个元素,请执行以下操作:
var x []*Type
y := *x[0]
取消对单个元素的引用,从指向切片的指针:
var x *[]Type
y := (*x)[0]
对于奖励积分,要尊重单个元素从指针到指针切片:
var x *[]*Type
y := *(*x)[0]
见游乐场。