Go语言函数形参中类型前的三个点"..."的用途

在我们编程中会遇到函数或方法形参中,在类型前会有三个点"..."出现,它们的作用和用途是什么呢?接下来我们一起来看一下:
1、为函数定义多个可选参数,比如:
func FunName(args ...int){
  //TODO:代码逻辑
}
//函数FunName接受任意数量的int参数
FunName(arg1)
FunName(arg1,arg2)
FunName(arg1,arg2,arg3)
........
2、将切片拆散(扩展)
slices := make([]int, 6)
FunName(slices ...) //将切片slices(含有6个int型元素)拆散成单个int型作为参数调用函数slices 
第一种:是Go提供的语法糖
第二种:一般是在调用函数时做可选参数使用

示例:
func FormatString(str string,args ...interface{}) interface{} {
  if len(args) > 0 {
    return fmt.Sprintf(str, args...) //要展开slice类型参数
  } else{
    return str
  }
}
调用:
fmt.Println(str)name:= "Jack"
age := 32
str := FormatString("Hello,%s Smith, %d old years.",name, age) 
fmt.Println(str) //=> Hello,Jack Smith, 32 old years.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值