014_go语言中的变参函数

Posted 乱七八糟的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了014_go语言中的变参函数相关的知识,希望对你有一定的参考价值。

代码演示

package main

import "fmt"

func sum(nums ...int) {
    fmt.Print(nums, " ")
    totol := 0
    for _, num := range nums {
        totol += num
    }
    fmt.Println(totol)
}

func main() {
    sum(1, 2)
    sum(1, 2, 3)
    nums := []int{1, 2, 3, 4}
    sum(nums...)
}

代码运行结果

[1 2] 3
[1 2 3] 6
[1 2 3 4] 10

代码解读:

  • 可变参数,就是在调用时候可以传入任意数量的参数
  • 写法为func name(args ...type),这个函数接受任意数目的type类型的值作为参数
  • 如果有一个含有多个值的切片slice,想把它们作为参数使用,就必须要这样调用 func(slice...)

以上是关于014_go语言中的变参函数的主要内容,如果未能解决你的问题,请参考以下文章

Go语言:变参函数

Go语言学习记录4——数组切片和变参函数

Go Example--变参函数

c语言中的sprintf函数?

go语言:函数参数传递详解

用initializer_list实现变参函数