函数是基本的代码块,用于执行一个任务
Go 语句最少有一个main()函数
可以通过函数来划分不同的功能,逻辑上每个函数执行是指定的任务
函数的声明告诉编译器函数的名称,返回类型,和参数
Go 语言标准库提供了多种可动用的内置函数
func function_name([parameter_list])
[return_type]
{
函数体
}
函数定义解析:
- func
函数由func开始声明
- function_name: 函数名称,函数名和参数列表一起构成函数签名
- [parameter list]
: 参数列表,参数就像一个占位符,当函数被调用时,可以将值传递给参数,这个值被称为实参,参数列表指定的是参数的类型,顺序,以及参数的个数,可选参数,也就是说哦函数也可以不包含该参数
- return_type
返回类型,函数返回一列值, return_type不是必须的
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("最大值 : %d\n", ret)
}
/* 函数返回两个的最大值 */
func max(num1, num2 int) int {
/* 定义局部变量 */
var result int
if (num1>num2) {
result = num1
}else{
result = num2
}
return result
}
形参就像定义在函数体内的的局部变量
函数调用,可以通过两种方式来传递参数:]
传递类型 | 描述 |
---|---|
值传递 | 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样这样在函数中如果对参数修改,将不会影响实际参数 |
引用传递 | 引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数 |
默认情况下,Go语言使用的是值传递,在调用过程中不会影响到实际参数
函数使用
函数用法 | 描述 |
---|---|
函数作为值 | 函数定义后可作为值来使用 |
闭包 | 闭包是匿名函数,可在动态编程中使用 |
方法 | 方法就是一个包含了接受者的函数 |