go可变长函数参数

go可变长函数参数示例:

package main

import "fmt"

// 可变长参数
func sum(nums ...int) {
    fmt.Print(nums, "  ")
    total := 0
    for _, num := range nums {
        total += num
    }
    fmt.Println(total)
}

func main() {
    // 支持可变长参数的函数调用方法和普通函数一样
    // 也支持只有一个参数的情况
    sum(1, 2)
    sum(1, 2, 3)

    // 如果你需要传入的参数在一个切片中,需要
    // "func(slice...)"把切片打散传入
    nums := []int{1, 2, 3, 4}
    sum(nums...)
    fmt.Println(nums)
}

程序输出:

[1 2]  3
[1 2 3]  6
[1 2 3 4]  10
[1 2 3 4]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容