Golang 函数与方法

Golang 函数与方法

在这篇文章中,我们将学习Golang中的函数和方法之间有什么异同点。我们将分别从它们开始,然后我们将看到一个使用它们的例子。

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

Golang中的函数

Golang中的函数是一个代码块,它接受一些参数作为输入并产生一些输出。如果我们向一个函数传递相同的输入,它将产生相同的输出。

例子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() 的函数,它有两个定义参数,分别是 xy

输出

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

The result is: 60

Golang中的方法

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

例子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

Golang中的函数和方法的区别

从上面的例子中可以看出函数和方法的明显区别。主要的区别在于方法中的 接收器 ,而函数中则没有。

另一个区别在于我们如何执行它们,比如在我们调用它们的时候。

请看下面的代码片断。

res1 := shape{x: 10, y: 20}// for methods
res := height(x, y) // for functions

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程