💡
原文英文,约500词,阅读约需2分钟。
📝
内容提要
函数的基本语法为:`func functionName(parameters) returnType { // function body }`。可以定义多个参数和返回值,支持变参和匿名函数。局部变量仅在函数内有效,建议通过提前返回来避免深层嵌套。递归函数可以调用自身。
🎯
关键要点
- 函数的基本语法为:`func functionName(parameters) returnType { // function body }`。
- 可以定义多个参数和返回值,支持变参和匿名函数。
- 局部变量仅在函数内有效,建议通过提前返回来避免深层嵌套。
- 递归函数可以调用自身。
- 示例:`func greet(name string) string { return "Hello, " + name }`。
- 调用函数示例:`message := greet("Alice")`。
- 多个参数示例:`func add(a int, b int) int { return a + b }`。
- 同类型多个参数的简写:`func add(a, b int) int { return a + b }`。
- 多个返回值示例:`func divide(dividend, divisor float64) (float64, string)`。
- 命名返回值示例:`func getFullName() (firstName, lastName string)`。
- 变参函数示例:`func sum(nums ...int) int`。
- 匿名函数示例:`func() { fmt.Println("I am anonymous") }()`。
- 闭包示例:`func counter() func() int`。
- 函数作为参数示例:`func process(name string, f func(string) string)`。
- Go中的作用域:局部作用域、全局作用域和块作用域。
- 最佳实践:通过提前返回来避免深层嵌套。
- 递归函数示例:`func factorial(n int) int`。
❓
延伸问答
Go语言中函数的基本语法是什么?
函数的基本语法为:`func functionName(parameters) returnType { // function body }`。
如何在Go语言中定义一个支持多个返回值的函数?
可以使用命名返回值,例如:`func getFullName() (firstName, lastName string)`。
什么是变参函数,如何在Go语言中实现?
变参函数可以接受任意数量的参数,例如:`func sum(nums ...int) int`。
Go语言中如何避免深层嵌套?
建议通过提前返回来避免深层嵌套,例如:`if user == "" { return "No user provided" }`。
什么是递归函数,能给个示例吗?
递归函数是调用自身的函数,例如:`func factorial(n int) int { if n == 0 { return 1 } return n * factorial(n-1) }`。
在Go语言中,局部变量的作用域是什么?
局部变量仅在函数内有效,无法在函数外部访问。
➡️