1. // 读未初始化的chan
    2. func main() {
    3. a:=[]ss{{age: 2},{age: 222}}
    4. for _,v :=range a{
    5. v.age=22
    6. println(&v)
    7. }
    8. for _,v :=range a{
    9. println(&v)
    10. }
    11. }
    12. func init(){
    13. }
    14. type ss struct {
    15. age int
    16. }
    1. 0xc00006af58
    2. 0xc00006af58
    3. 0xc00006af50
    4. 0xc00006af50

    说明这块是副本

    1. package main
    2. // 读未初始化的chan
    3. func main() {
    4. a:=[]*ss{{age: 2},{age: 222}}
    5. for _,v :=range a{
    6. v.age=22
    7. println(&v)
    8. println(v.age)
    9. }
    10. for _,v :=range a{
    11. println(&v)
    12. println(v.age)
    13. }
    14. }
    15. func init(){
    16. }
    17. type ss struct {
    18. age int
    19. }

    输出

    1. 0xc00003e760
    2. 22
    3. 0xc00003e760
    4. 22
    5. 0xc00003e758
    6. 22
    7. 0xc00003e758
    8. 22

    这块还是说明 他是拷贝的副本 只不过是指针 所以可以被赋值