Go语言中的函数与方法
本文将学习Go语言中函数和方法的异同。我们将分别介绍两者,然后展示一个同时使用两者的示例。
让我们从函数开始,了解它们是什么以及如何在Go语言中使用它们。
Go语言中的函数
Go语言中的函数是一段代码块,它接收一些参数作为输入并产生一些输出。如果我们向函数传递相同的输入,它将始终产生相同的输出。
示例1
在这个例子中,我们创建了一个函数,然后从主函数调用它。
package main
import (
"fmt"
)
func height(x, y int) int {
return 2 * (x + y)
}
func main() {
x, y := 10, 20
res := height(x, y)
fmt.Println("The result is:", res)
}在上面的代码中,我们声明了一个名为**height()**的函数,它分别定义了两个参数**x**和**y**。
输出
如果我们使用命令**go run main.go**运行上面的代码,我们将得到以下输出。
The result is: 60
Go语言中的方法
Go语言中的方法类似于需要接收者才能被调用的函数。简单来说,方法是在**结构体**类型上定义的函数。
示例2
让我们来看一个创建方法并使用它的例子。
package main
import (
"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("The result1 is:", res1.height())
}输出
如果我们使用命令**go run main.go**运行上面的代码,我们将得到以下输出。
The result1 is: 60
Go语言中函数和方法的区别
上述函数和方法的例子可以说明它们的区别。主要区别在于方法具有**接收者**,而函数没有。
另一个区别在于我们执行它们的方式,例如调用它们的方式。
考虑以下代码片段。
res1 := shape{x: 10, y: 20}// for methods
res := height(x, y) // for functions
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP