Golang \"...\"用法

Golang的一种语法糖,大抵有三种用法:

  • 当函数函数需要传入多个不定参数时, ...可以接受多个不确定数量的参数
  • 将切片中元素打散进行传递
  • 定义数组时,表示参数不定,such as :[...]int{}
package main

import "fmt"

// 当函数函数需要传入多个不定参数时, ...可以接受多个不确定数量的参数
// 此处为配合空接口应用
func log(a ...interface{}) {
	// 将传入参数a格式化为字符串
	s := fmt.Sprint(a...)
	fmt.Printf("传入参数%s\n",s)
}

// 将切片中元素打散进行传递
func addNo() {
	// 切片1
	var slice1= []string{
		"qwr",
		"234",
		"yui",

	}
	// 切片2
	var slice2= []string{
		"qqq",
		"aaa",
		"zzz",
		"zzz",
	}
	// 将slice2中元素的加入slice1
	slice1=append(slice1,slice2...) 
	
	fmt.Println(slice1)

}

// 求和,综合运用
func Sum(nums ...int) int {
	res := 0
	for _, n := range nums {
		res += n
	}
	return res
}

func main() {
	log(1,2,3,4,5)
	
	addNo()
	
	primes := []int{2, 3, 5, 7}
	// 将切片中元素一个一个(打散)进行传递
	fmt.Println(Sum(primes...))
}

相关推荐