package main
import "fmt"
func main() {
slice := []int{1, 2, 3, 4, 5}
for k, v := range slice {
if v == 4 {
slice = append(slice[:k], slice[k+1:]...)
}
}
fmt.Println(slice)
/*
在切片字面量中,切片展开操作符 ... 可以用于将一个切片的所有元素展开为另一个切片的初始化值
slice1 := []int{1, 2, 3}
slice2 := []int{4, 5, 6}
newSlice := append(slice1, slice2...)
fmt.Println(newSlice) // 输出:[1 2 3 4 5 6]
*/
nums := []int{1, 2, 3, 4, 5}
total := sum(nums...) // 切片展开为多个参数
fmt.Println(total) // 输出:15
}
func sum(numbers ...int) int {
result := 0
for _, num := range numbers {
result += num
}
return result
}
/*
在函数调用中,当一个函数参数的类型为可变参数(...)时,我们可以使用切片展开操作符 ... 将切片作为多个参数传递给该函数。
这样,切片中的每个元素都会被当作单独的参数进行传递
*/