GO-函数定义与使用

GO-函数定义与使用
怀光Golang 中,函数是编程的基本单元,是封装逻辑、提高代码复用性和模块化编程的关键工具。本文将涵盖 Golang
函数定义与使用的核心知识点,包括参数、返回值、多返回值及可变参数。
1. 函数的基本定义
在 Golang 中,定义一个函数的语法如下:
1 | func 函数名(参数列表) (返回值列表) { |
func
:声明函数的关键字。函数名
:函数的名称,用于调用函数。参数列表
:输入参数及其类型。返回值列表
:返回值及其类型。- 函数体:函数执行的逻辑代码。
示例
1 | package main |
此示例中,greet
函数接受一个 string
类型的参数 name
,并返回一个 string
类型的值。
2. 函数参数
Golang 函数可以接受多个参数,并且每个参数都需要指定类型。
多参数
1 | func add(a int, b int) int { |
参数类型简化
当参数类型相同时,可以简化类型声明:
1 | func subtract(a, b int) int { |
3. 可变参数
Golang 支持可变参数,这样可以向函数传递多个同类型的参数。可变参数使用 ...
语法:
1 | func sum(numbers ...int) int { |
numbers ...int
表示可以传入多个 int
类型的参数,函数内部将其作为切片处理。
4. 函数返回值
函数可以返回一个或多个值。
单一返回值
1 | func multiply(a, b int) int { |
多返回值
Golang 支持多返回值,常用于返回结果和错误信息:
1 | func divide(a, b int) (int, error) { |
5. 命名返回值
可以为返回值命名,使代码更简洁,命名返回值在函数体中作为局部变量使用:
1 | func rectangleArea(width, height int) (area int) { |
area
是命名返回值,return
语句可以直接返回。
6. 函数作为参数与返回值
Golang 中,函数可以作为参数传递或作为返回值返回。
函数作为参数
1 | func operate(a, b int, op func(int, int) int) int { |
函数作为返回值
1 | func multiplier(factor int) func(int) int { |
7. 匿名函数与闭包
匿名函数没有名称,常用于短期使用。闭包指的是函数可以访问其外部作用域中的变量:
1 | func main() { |
这里,greet
是一个闭包,可以访问 message
变量。