Go语言中函数是程序基本单元,使用func关键字定义,包含函数名、参数列表和返回值类型,支持多返回值与匿名函数;通过函数名加括号传参调用,多返回值需多变量接收;defer用于延迟执行,遵循后进先出原则,常用于资源释放。

Go语言中的函数是构建程序的基本单元,用于封装可复用的逻辑。定义和调用函数遵循简洁而明确的语法规则。
函数定义语法
使用 func 关键字定义函数,基本结构如下:
func 函数名(参数列表) 返回值类型 {
函数体
}
说明:
函数名:遵循Go的标识符命名规则,通常采用驼峰式命名(如 CalculateSum)参数列表:每个参数由名称和类型组成,多个参数用逗号分隔。若相邻参数类型相同,可省略前面的类型声明返回值类型:可以是一个类型、多个类型,或省略(表示无返回值)
示例:
立即学习“go语言免费学习笔记(深入)”;
func add(a int, b int) int {
return a + b
}
// 简写形式
func multiply(a, b float64) float64 {
return a * b
}
// 多返回值
func divide(a, b float64) (float64, bool) {
if b == 0 {
return 0, false
}
return a / b, true
}
函数调用方式
定义后的函数可通过函数名加括号并传入对应参数进行调用。
调用时需传入与定义匹配的参数数量和类型多返回值函数需用多个变量接收结果函数可在定义前被声明(通过函数签名),实现跨文件调用
示例:
立即学习“go语言免费学习笔记(深入)”;
result := add(3, 5)
fmt.Println(result) // 输出 8
value, ok := divide(10, 2)
if ok {
fmt.Printf(“结果: %fn”, value)
}
匿名函数与函数变量
Go支持在代码中直接定义无名函数,并赋值给变量,实现灵活调用。
匿名函数可立即执行,也可作为值传递函数本身是一等公民,可被赋值、传参、返回
示例:
立即学习“go语言免费学习笔记(深入)”;
square := func(x int) int {
return x * x
}
fmt.Println(square(4)) // 输出 16
延迟调用 defer
Go提供 defer 关键字,用于延迟执行函数调用,常用于资源释放。
defer 后的函数会在包含它的函数返回前执行多个 defer 按后进先出顺序执行
示例:
立即学习“go语言免费学习笔记(深入)”;
func readFile() {
file, _ := os.Open(“data.txt”)
defer file.Close() // 函数结束前自动关闭文件
// 读取文件操作…
}
基本上就这些。掌握函数定义与调用规则,是编写清晰、模块化Go代码的基础。注意参数类型、返回值处理和 defer 的合理使用,能有效提升代码质量。
以上就是Golang函数语法定义与调用规则的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1412271.html
微信扫一扫
支付宝扫一扫