Go 函数基础语法一、函数定义标准格式Go 语言函数固定定义格式gofunc 函数名(参数列表) (返回值列表) { 函数体 }核心规则函数定义位置放在main前后都可以Go 编译器会自动识别访问权限函数名首字母小写 私有只能在当前包使用函数名首字母大写 公共可被其他包调用二、无参无返回值函数最简单的函数形式不需要参数也没有返回值。gopackage main import fmt // 定义无参无返回值函数 func MyFunc() { a : 666 fmt.Println(a , a) } func main() { // 函数调用 MyFunc() }三、普通参数列表有参无返回值1. 基础带参函数go// 有参无返回值 func MyFunc01(a int) { a 111 fmt.Println(a , a) }2. 重要概念形参定义函数时写在括号里的参数形式参数实参调用函数时传入的具体值参数传递方向只能实参 → 形参同类型参数简写go// 多个相同类型参数可以只写一次类型 func test(a, b, c int) { }四、不定参数列表重点Go 支持可变参数类似其他语言的...语法。1. 不定参数定义格式gofunc 函数名(参数名 ...类型) { }2. 示例代码gopackage main import fmt // 不定参数 int 类型 func MyFunc01(a ...int) { // 方式1for 循环遍历 for i : 0; i len(a); i { fmt.Printf(a[%d] %d \n, i, a[i]) } // 方式2range 迭代推荐 for i, data : range a { fmt.Printf(a[%d] %d\n, i, data) } } func main() { MyFunc01() // 不传参 MyFunc01(1, 2, 3, 4) // 传多个参 }3. 不定参数规则不定参数必须放在形参列表的最后一个函数内部可以把不定参数当作切片使用五、不定参数的传递可以把一个函数的不定参数完整 / 切片式传递给另一个函数。gopackage main import fmt func myfunc(tmp ...int) { for _, data : range tmp { fmt.Println(data , data) } } func test(args ...int) { myfunc(args...) // 全部传递 myfunc(args[:2]...) // 只传递前两个元素 } func main() { test(1, 2, 3, 4) }六、函数返回值1. 无参有一个返回值go// 方式1只写返回值类型 func myfunc01() int { return 666 } // 方式2给返回值起名推荐 func myfunc02() (result int) { result 666 return // 直接return即可不用写return result }2. 多个返回值Go 特色Go 函数支持多个返回值是最常用的写法之一。go// 方式1只写类型 func myfunc01() (int, int, int) { return 1, 2, 3 } // 方式2官方推荐写法给返回值起名 func myfunc02() (a int, b int, c int) { a, b, c 111, 222, 333 return }3. 返回值规则有返回值的函数必须使用 returnreturn 会中断函数执行并返回结果多个返回值可以只写类型也可以同时写变量名 类型若已定义返回值变量可直接return本章节核心总结函数格式func 函数名(参数) (返回值) { 函数体 }不定参数格式...类型必须放最后不定参数遍历推荐用for _, data : range 变量支持多返回值官方推荐给返回值起名有返回值必须写return函数名大写 公开小写 私有总结函数定义、无参无返回值、普通参数、不定参数、参数传递、单返回值、多返回值是 Go 函数最核心的第一部分知识。
网站建设
高端定制
企业官网