...在Golang中,刪節號 Ellipsis 是一個有趣又有用的語法,它可以應用在包括函數、切片和數組。 ...在處理可變參數的情況下更具有靈活性。
......在處理 slice 時非常有用。它將切片的元素展開,通常用於函數參數中,以接受可變數量的參數。
printNumbers 函數接受可變數量的整數參數,並使用...將切片nums中的元素展開,然後印出。
func printNumbers(numbers ...int) {
for _, num := range numbers {
fmt.Println(num)
}
}
func main() {
nums := []int{1, 2, 3, 4, 5}
printNumbers(nums...)
}
在這邊使用...將slice2中的元素展開,然後使用append函數將它們添加到slice1中,得到一個新的合併切片 mergedSlice。
slice1 := []int{1, 2, 3}
slice2 := []int{4, 5, 6}
mergedSlice := append(slice1, slice2...)
sumNumbers 函數接受可變數量的整數參數,並返回總和。
func sumNumbers(nums ...int) int {
sum := 0
for _, num := range nums {
sum += num
}
return sum
}
...將數組numbers中的元素展開,然後傳遞給sumArray函數,計算出總和。
func sumArray(nums [5]int) int {
sum := 0
for _, num := range nums {
sum += num
}
return sum
}
func main() {
numbers := [5]int{1, 2, 3, 4, 5}
total := sumArray(numbers[:5]...)
fmt.Println(total)
}
相隔十四年再度和家人來到日月潭,景色依舊,人也還在!
(後續會將文章放到 medium 上,以及補上更詳細的內容