函数也称为方法,每个Go程序至少都有一个函数,即 main(),您可以将代码分成单独的函数,Go标准库提供了程序可以调用的许多内置函数
Go编程语言中的函数定义的一般形式如下-
链接:https://www.learnfk.comhttps://www.learnfk.com/go/go-functions.html
来源:LearnFk无涯教程网
func function_name( [parameter list] ) [return_types] { body of the function }
Go编程语言中的函数定义由函数头和函数主体组成。这是函数的所有部分-
Func - 声明函数。
function_name - 函数名称。
parameter - 函数参数。
return_types - 函数可以返回值列表。
body - 函数方法实现区。
以下源代码显示了一个名为 max()的函数。此函数采用两个参数num1和num2,并返回两个参数之间的最大值-
/* 返回两个数字之间的最大值的函数 */ func max(num1, num2 int) int { /* 局部变量声明 */ result int if (num1 > num2) { result=num1 } else { result=num2 } return result }
要调用一个函数,您只需要传递所需的参数及其函数名。如果函数返回一个值,则可以存储返回的值。如-
package main import "fmt" func main() { /* 局部变量定义 */ var a int=100 var b int=200 var ret int /* 调用函数以获取最大值 */ ret=max(a, b) fmt.Printf( "Max value is : %d\n", ret ) } /* 返回两个数字之间的最大值的函数 */ func max(num1, num2 int) int { /* 局部变量声明 */ var result int if (num1 > num2) { result=num1 } else { result=num2 } return result }
我们保留了max()函数和main()函数,并编译了源代码。在运行最终可执行文件时,它将产生以下输出-
Max value is : 200
Go函数可以返回多个值。如-
package main import "fmt" func swap(x, y string) (string, string) { return y, x } func main() { a, b := swap("Mahesh", "Kumar") fmt.Println(a, b) }
编译并执行上述代码后,将产生以下输出-
Kumar Mahesh
如果函数要使用参数,则它必须声明接受参数值的变量。这些变量称为函数的形式参数。
Sr.No | Call Type & 描述 |
---|---|
1 |
Call by value 此方法将参数的实际值复制到函数的形式参数中。在这种情况下,对函数内部参数的更改不会对参数产生影响。 |
2 |
Call by reference 此方法将参数的地址复制到形式参数中。这意味着对参数所做的更改会影响参数。 |
默认情况下,Go使用按值调用来传递参数,通常,这意味着函数中的代码无法更改用于调用函数的参数。
可以通过以下方式使用函数:
Sr.No | 函数用法 |
---|---|
1 |
Function as Value 函数可以即时创建,并且可以用作值。 |
2 |
Function Closures 函数闭包是匿名函数,可以在动态编程中使用。 |
3 |
Method 方法是带有reader的特殊函数。 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)