求助大神?百度过了,教程也看了,还是不明白函数与方法的区别在哪里,在我看来方法是多余的,因为你方法可以做的我函数也可以做,为什么要方法呢?下面我要打印结构体name字段,函数和方法都行,所以我为什么要用方法?求大神解惑,方法应该有更深层次的原因才存在的。
```go
// Pen 结构体
type Pen struct{ name string }
// 方法
func (p Pen) pens() Pen {
p.name = "nihao"
return p
}
// 函数
func pening() Pen {
var pp Pen
pp.name = "wohao"
return pp
}
func main() {
p2 := pening() // 函数直接调用就行
fmt.Println(p2.name)
p1 := p2.pens() // 方法还要在调用别的函数
fmt.Println(p1.name)
}
```
有疑问加站长微信联系(非本文作者)