阅读 204

Golang 中的函数与方法

在本文中,我们将了解 Golang 中函数和方法之间有哪些异同。我们将分别从它们中的每一个开始,然后我们将看到一个将使用它们的示例。

让我们从函数开始,看看它们是什么以及如何在 Golang 中使用它们。

Golang 中的函数

Golang 中的函数是一段代码,它接受一些参数作为输入并产生一些输出。如果我们将相同的输入传递给一个函数,它会像往常一样产生相同的输出。

示例 1

在这个例子中,我们正在创建一个函数,然后从主函数调用它。


package mainimport (
   "fmt")func height(x, y int) int {
   return 2 * (x + y)
}func main() {
   x, y := 10, 20   res := height(x, y)

   fmt.Println("结果是:", res)
}


在上面的代码中,我们声明了一个名为的函数height(),它分别具有两个定义的参数xy

输出结果

如果我们使用go run main.go命令运行上面的代码,那么我们将得到以下输出。


结果是: 60


Golang 中的方法

Golang 中的方法就像一个需要接收器才能被调用的函数。简单来说,方法是在结构类型上定义的函数

示例 2

让我们考虑一个示例,我们将创建一个方法然后使用它。


package mainimport (
   "fmt")type shape struct {
   x int   y int}func (s shape) height() int {
   return 2 * (s.x + s.y)
}func main() {

   res1 := shape{x: 10, y: 20}

   fmt.Println("结果1是:", res1.height())
}

输出结果


如果我们使用go run main.go命令运行上面的代码,那么我们将得到以下输出。


结果1是: 60


Golang中函数和方法的区别

显着的差异可以通过上面显示的函数和方法的示例来解释。主要区别归结为接收器,它存在于方法中而不是函数中。

另一个区别在于我们如何执行它们,就像我们调用它们的情况一样。

考虑下面显示的代码片段。


res1 := shape{x: 10, y: 20}// 对于方法
res := height(x, y) // for functions


文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐