天天看点

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}
           

可以看到对象是没有改变的,指针是改变的