golang传递变长参数

·函数的最后一个参数是 . . . t y p e ...type ...type的形式,说明这个函数可以处理变长参数,这个函数称为变参函数。
·参数存储在 s l i c e slice slice类型的变量 s l i c e slice slice中,则通过 s l i c e . . . slice... slice...来传递参数,调用函数。

package main

import "fmt"

func main() {
    a := min(4,3,6,1,8)
    fmt.Println("The min is",a)
    slice := []int{3,4,2,6,7} //slice类型
    b := min(slice...) //用slice...类型进行传参 调用函数
    fmt.Println("The min is",b)
}

func min(s ...int)int{ //s ... 说明参数是可变长的
    if len(s)==0{ //go语言中,字符串/数组大小按长度算,而不是c中的'\0'
        return 0
    }
    min := s[0]
    for _, u := range s{ //go语言中的for-range语句迭代
        if u<min{
            min = u
        }
    }
    return min
}

The min is 1
The min is 2

你可能感兴趣的:(Golang语言基础)