函数是一组一起执行任务的语句。每Go程序具有至少一个函数,它一般是main(),以及所有的最琐碎程序可以定义附加函数。
你可以将代码放到独立的功能。如何划分代码之间的不同功能,但逻辑上的划分通常是让每个函数执行特定的任务。
函数声明告诉编译器有关的函数的名称,返回类型和参数。一个函数定义提供了函数的实际主体。
Go语言标准库提供了大量的内置函数,在程序可以调用。例如,函数len()需要不同类型的参数和返回值的类型的长度。例如,如果一个字符串传递给它,它会返回字符串的长度以字节为单位,如果一个数组传递给它,它就会返回数组的长度为它所拥有元素的个数。
函数称为具有各种名字等的方法或子例程或程序等。
定义一个函数:
在Go编程语言的函数定义的一般形式如下:
复制代码 代码如下:
func function_name( [parameter list] ) [return_types]
{
body of the function
}
在Go编程语言中的函数定义由函数头和函数体。这里是一个函数的所有部分:
- func 开始函数的声明。
- Function Name: 这是该函数的实际名称。函数名和参数列表一起构成了函数签名。
- Parameters: 参数是像一个占位符。当调用一个函数,你传递一个值的参数。这个值被称为实际参数或参数。参数列表指的类型,顺序和数量的函数的参数。参数是可选的;也就是说,一个函数可包含任何参数。
- Return Type: 函数可能返回值的列表。return_types是该函数返回值的数据类型的列表。有些函数执行所需的操作没有返回值。在这种情况下,return_type不是必需的。
Function Body: 函数体包含了定义函数操作语句的集合。
例子:
下面是一个函数的源代码称为max()。这个函数有两个参数num1与num2并返回两者之间的最大值:
复制代码 代码如下:
/* function returning the max between two numbers */
func max(num1, num2 int) int
{
/* local variable declaration */
result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
调用一个函数:
创建一个Go编程的函数必须做一个定义。要使用函数,需要调用该函数来执行规定的任务。
当程序调用函数,程序控制被转移到所调用的函数。调用函数定义执行任务时,被执行的return语句或达到其功能结束的右括号,则返回程序控制返回到主程序。
要调用一个函数,只需要通过必要的参数以及函数的名称,如果函数返回一个值,那么可以存储返回值。例如:
复制代码 代码如下:
package main
import "fmt"
func main() {
/* local variable definition */
var a int = 100
var b int = 200
var ret int
/* calling a function to get max value */
ret = max(a, b)
fmt.Printf( "Max value is : %d\n", ret )
}
/* function returning the max between two numbers */
func max(num1, num2 int) int {
/* local variable declaration */
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
Go,函数
更新日志
- 李健《溺爱 HQCD 规格高质感》[WAV+CUE][480MB]
- 降央卓玛-经典珍藏版《金色的辉煌》[WAV/分轨][550MB]
- 林保怡.1989-NATURAL【BMG】【WAV+CUE】
- 谢宜君.2014-坚强的女人【豪记】【WAV+CUE】
- 江美丽.1992-红颜心事【金圆唱片】【FLAC+CUE】
- 群星《情歌最毒4CD》24KHD黄金母盘[WAV分轨]
- HI-FI白金唱片-群星《白金唱片·靓声经典》[WAV分轨]
- 赵鹏《闪亮的日子·人声低音炮》头版限量编号24K金碟[低速原抓WAV+CUE]
- 王威翔.2008-威风凛凛6CD【音乐谷】【WAV+CUE】
- 辛晓琪.1999-怎么【滚石】【WAV+CUE】
- 陈升.2000-思念人之屋2CD【滚石】【WAV+CUE】
- 叶倩文《动情的倾诉式唱腔 面对面》[WAV+CUE][540MB]
- 李宗盛《希望》[WAV+CUE][130MB]
- 《QQ音乐.热歌榜 TOP300首 2024.03.01期》[FLAC/分轨][9.5GB]
- 群星1990-36首环绕对唱连串曲3CD[鹤鸣唱片][WAV+CUE]