learn go passing variable-length arguments

package main

// 参考文档:
//     https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.3.md

import "fmt"

func main() {
    x := min(1, 3, 2, 0)
    fmt.Printf("The mininum is: %d\n", x)

    // 参数被存储在一个数组 arr 中,则可以通过 arr... 的形式来传递参数调用变参函数。
    arr := []int{7, 9, 3, 5, 1}
    x = min(arr...)
    fmt.Printf("The mininum in the arr is: %d\n", x)
}

func min(a ...int) int {
    if len(a) == 0 {
        return 0
    }

    min := a[0]
    for _, v := range a {
        if v < min {
            min = v
        }
    }
    return min
}

 

posted on 2015-11-22 17:22  zengjf  阅读(194)  评论(0编辑  收藏  举报

导航