GO三个点用法(...)

1、代表可变参数

package main

import "fmt"

func main() {
    multiInputArgs1(3,4,5)
    multiInputArgs2("f","efw",4,3,2)
}

func multiInputArgs1(a ...int){
    for i, v := range a {
		fmt.Println(i, v)
	}
}

//此种情况,可变入参只能放在入参列表最后面
func multiInputArgs2(b string, c string, a ...int) {
    fmt.Println(b)
    fmt.Println(c)
	for i, v := range a {
		fmt.Println(i, v)
	}
}

2、与slice使用表示解压切片,得到slice的值

package main

import "fmt"

func main() {
	a := []int{2, 45, 5645, 23, 543}
    b := []int{34, 234, 23, 41, -43}
    appendTest(a, b)
    sliceTest(a...) //解压slice,取出slice的值,并传入可变参数的函数中。一次用到了两种场景。
}

func appendTest(a []int, b []int){
    a = append(a, b...)   //解压slice,取出slice的值
    for i, v := range a {
		fmt.Println(i, v)
	}
}

func sliceTest(a ...int){
    for i, v := range a {
		fmt.Println(i, v)
	}
}

3、数组中使用三个点...

在数组中,...符号指定的长度等于数组中元素的数量。

a:= [...]string{"sd", "rf", "t"}
b:= [...]int{1, 2, 3}
fmt.Println(len(a))
fmt.Println(len(b))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值