函数定义
函数是基本的代码块。 Go是编译型语言,函数编写的顺序是无关紧要的;鉴于可读性的需求,最好把 main() 函数写在文件的底部,类似于C语言的习惯。
Go 语言函数定义格式如下:
代码语言:javascript复制func function_name( [parameter list] ) [return_types] {
函数体
}
- func:函数声明关键字,函数由 func 开始声明
- function_name:函数名称,参数列表和返回值类型构成了函数签名。
- parameter list:参数列表。
- return_types:返回类型,函数返回一列值。 return_types 是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。
- 函数体:函数定义的代码集合。
Go 里面拥三种类型的函数
- 普通函数
- 匿名函数或者lambda函数
- 方法(Methods) 说下方法,确实有这种类型。go是为了兼容面向对象的特性,实现了方法这种特性。
调用示例
代码语言:javascript复制package main
func main() {
getTest()
println("main")
}
func getTest() {
println("test")
}
带入参返回值
代码语言:javascript复制package main
import "fmt"
func main() {
/* 定义局部变量 */
var a int = 100
var b int = 200
var ret int
/* 调用函数并返回最大值 */
ret = max(a, b)
fmt.Printf( "最大值是 : %dn", ret )
}
/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
/* 定义局部变量 */
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}