func (c *App) example() // c操作对象本身
func (c App) example() // c为局部变量,对其修改不影响对象的值
前者,是修改内存中引用的值,后者是一个副本(不影响原来的内存)
package main
import (
"fmt"
)
type App struct{
Name string
Num int
}
func (c *App)getName(){
c.Name = "myname"
}
func (c App)getNum()App{
c.Num = 11
return c
}
func main() {
app := &App{}
app.getName()
app2 := app.getNum()
fmt.Println(app,app2)
}
/*
app: &{myname 0}
app2: {myname 11}
*/