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
广告