0
点赞
收藏
分享

微信扫一扫

Go+ 成员函数(Method)


 目录

​​Go+ 概述​​

​​正文​​

​​定义成员函数方法​​

​​完整代码实例​​

Go+ 概述

Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。

正文

前面的文章已经介绍了 Go+ 如何定义结构体,现在我们介绍一下如何为结构体定义成员方法。接下来我们就来了解一下这部分的一些内容。

定义成员函数方法

定义成员函数的时候,一共有两种方式,第一种是指针方式,我们定义一个计算矩阵面积的方法,代码实例如下:

type rect struct {
width int,
height int
}

func (r *rect) area() int {
return r.width * r.height
}

第二种是值方式,我们定义一个计算矩阵周长的方法,代码实例如下:

type rect struct {
width int,
height int
}

func (r rect) perim() int {
return 2*(r.width + r.height)
}

需要注意的是,两种方式可以自动切换,基本上是等效的,这样的好处就是避免了研发人员混淆二者。

完整代码实例

为了清楚的对比两种结构体方法的区别,下面通过一段代码来看一下,代码实例:

type rect struct {
width, height int
}

func (r *rect) area() int {
return r.width * r.height
}

func (r rect) perim() int {
return 2*(r.width + r.height)
}

r := rect{width: 10, height: 5}
println("矩形面积: ", r.area())
println("矩形周长:", r.perim())

rp := &r
println("矩形面积: ", rp.area())
println("矩形周长:", rp.perim())

执行结果:

矩形面积:  50
矩形周长: 30
矩形面积: 50
矩形周长: 30


举报

相关推荐

0 条评论