Go+ 成员函数(Method)
目录Go+ 概述正文定义结构体方法完整代码实例Go+ 概述Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。正文前面的文章已经介绍了 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

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)