天天看點

golang走起(二)對象與指針二golang走起(二)對象與指針二

golang走起(二)對象與指針二

代碼如下:

package main

import (
    "fmt"
)

type Person struct {
    age int
}

func Create(a int) (p Person) {
    return Person{age: a}
}

func (p Person) Add() {
    p.age +=
}

func (p *Person) Add1() {
    p.age +=
}

func main() {
    p := Create)
    fmt.Println(p)

    p.Add()
    fmt.Println(p)

    p.Add1()
    fmt.Println(p)
}
           

運作結果如下:

{10}
{10}
{20}
           

可以看到對象是沒有改變的,指針是改變的