您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

(p Person) 和 (p *Person) 到底是什么区别?

(p Person) 和 (p *Person) 到底是什么区别?

type Person struct {
    // 属性
    name string 
    age int 
    sex bool 
    hobby []string
}

// 方法
func (p Person)Eat() {
    fmt.Println("eat...")
}

func (p *Person)Eat() {
    fmt.Println("eat...")
}



func main() {

    james := Person{} 

    james.Eat()
}

我知道(p *Person) 是在使用方法时候传入的是指针,(p Person)使用方法时候传入的是对象。

也就是说,james.Eat() 这个时候,james基于方法上面p的类型,使用方法时候传递对象或者指针吗?

golang 2022/2/8 20:51:02 有603人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶