1、先看代码
package main
import "fmt"
type Student struct {
age int
Name string
}
func main() {
ss := []Student{
{
Name: "xyy",
age: 18,
},
{
Name: "xss",
age: 20,
},
}
stu := []*Student{}
for _, r := range ss {
stu = append(stu, &r)
}
for _, tt := range stu {
fmt.Println(tt.Name)
}
}
2、结果
xss
xss
3、原因
从stu := []*Student{}可以看出 ,stu是一个存放类型是结构体指针的切片,存放的数据类型是结构体指针,r的地址即&r不变,变的是&r指向的值,最后 *(&r)是ss[1]。
4、图解
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。