我们假设我们有一个名为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
和Rx
的含义究竟是什么?
如何检索这些切片的元素值?
我对C更熟悉,所以如果你能在C中解释这一点,我们表示赞赏
答案 0 :(得分:4)
[]*Type
是指向Type
的一小部分。*[]Type
是指向Type
切片的指针。从一片指针中推断单个元素:
var x []*Type
y := *x[0]
要从指向切片的指针取消引用单个元素:
var x *[]Type
y := (*x)[0]
对于奖励积分,要从指向指针片段的指针中推导出单个元素:
var x *[]*Type
y := *(*x)[0]
请参阅playground。