卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章47073本站已运行31111

Golang函数定义与调用规则详解

函数定义规则:函数名、参数列表、返回值类型明确函数调用:函数名+实参列表,实参顺序和类型对应实战案例:计算两个数之和求一个数的阶乘参数传递:值传递,函数内修改参数值不影响函数外值可变参数放在参数列表最后,使用 ... 表示

Golang函数定义与调用规则详解

Golang 函数定义与调用规则详解

函数定义

Go语言中,函数定义的语法如下:

func 函数名(参数列表) 返回值类型 {...}
  • 函数名:函数的名称
  • 参数列表:函数的参数列表,参数类型和顺序必须明确
  • 返回值类型:函数的返回值类型,可有多个或无返回值

函数调用

函数调用使用以下语法:

函数名(实参列表)
  • 实参列表:函数的实际参数列表,必须与函数定义的参数列表顺序和类型对应

实战案例

计算两个数之和

// 定义一个函数计算两个数之和
func add(a, b int) int {
    return a + b
}

// 函数调用
result := add(10, 20)
fmt.Println(result) // 输出 30

求一个数的阶乘

// 定义一个函数计算一个数的阶乘
func factorial(n int) int {
    if n == 0 || n == 1 {
        return 1
    }
    return n * factorial(n-1)
}

// 函数调用
result := factorial(5)
fmt.Println(result) // 输出 120

参数传递

Go语言中函数参数传递采用值传递。这意味着在函数体内修改参数值不会影响函数外的值。例如:

func changeValue(num int) {
    num = 100
}

// 函数调用
num := 20
changeValue(num)
fmt.Println(num) // 输出 20

可变参数

函数的参数列表可以使用 ... 表示可变参数。可变参数必须放在参数列表的最后。例如:

func sum(nums ...int) int {
    sum := 0
    for _, num := range nums {
        sum += num
    }
    return sum
}

// 函数调用
result := sum(1, 2, 3, 4, 5)
fmt.Println(result) // 输出 15
卓越飞翔博客
上一篇: 如何利用懒惰求值优化Golang函数式程序?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏