// Variable_args project main.go
package main
import (
"fmt"
)
func main() {
fmt.Println("Args_One")
Args_One(1, 2, 3)
Args_One(1, 2, 3, 4, 5, 6)
fmt.Println("Args_Two")
Args_Two(1, 2)
fmt.Println("Any type args")
var num int = 20
var name string = "zhao"
var bOk bool = true
Args_AnyType(num, name, bOk)
}
//函数不定参
func Args_One(args ...int) {
//参数相当于一个数组
//比数组更方便调用
for _, arg := range args {
fmt.Println(arg)
}
}
//不定参函数传递
func Args_Two(args ...int) {
//原样传递
Args_One(args...)
//类似于切片
Args_One(args[1:]...)
}
//任意类型不定参
func Args_AnyType(args ...interface{}) {
for _, arg := range args {
switch arg.(type) {
case int:
fmt.Println(arg, "type is int")
case string:
fmt.Println(arg, "type is string")
case bool:
fmt.Println(arg, "type is bool")
}
}
}
Go基础之不定参数
最新推荐文章于 2022-09-05 15:21:43 发布