首页 > 技术文章 > golang中的三个点...

dawnlight 2021-11-11 14:38 原文

"..." 其实是golang的一种语法糖。

  • 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。
  • 第二个用法是slice可以被打散进行传递。

用法一:函数的不定参数


package main

import "fmt"

func test1(args ...string)  {  //可以接收任意多个string参数
	for index, value := range args{
		fmt.Println(index, " : ", value)
	}
}
func main() {
	str := []string {
		"ABC",
		"DEF",
		"GHI",
	}
	test1(str...)  //切片被打散传入
}

运行结果:

0  :  ABC
1  :  DEF
2  :  GHI

用法二:打散slice


package main

import "fmt"

func main() {
	str := []string {
		"ABC",
		"DEF",
		"GHI",
	}
	fmt.Println(str)
	str = append(str[0:1], str[2:]...) //将slice打散然后合并,这里相当于删掉了第二个元素
	fmt.Println(str)
}

运行结果:

[ABC DEF GHI]
[ABC GHI]

推荐阅读