Finish: 02-slices - 切片操作
This commit is contained in:
@@ -6,10 +6,10 @@ func exercise1() []int {
|
||||
fmt.Println("=== 练习1:切片声明与初始化 ===")
|
||||
|
||||
// 创建一个长度为3的int切片,初始值为[1, 2, 3]
|
||||
s := make([]int, ____)
|
||||
s[0], s[1], s[2] = ____, ____, ____
|
||||
s := make([]int, 3)
|
||||
s[0], s[1], s[2] = 1, 2, 3
|
||||
|
||||
return ____
|
||||
return s
|
||||
}
|
||||
|
||||
func exercise2() int {
|
||||
@@ -17,10 +17,10 @@ func exercise2() int {
|
||||
|
||||
// 向切片中添加元素并返回新长度
|
||||
fruits := []string{"苹果", "香蕉"}
|
||||
fruits = append(fruits, ____)
|
||||
fruits = append(fruits, ____, ____)
|
||||
fruits = append(fruits, "梨子")
|
||||
fruits = append(fruits, "蓝莓", "草莓")
|
||||
|
||||
return ____(fruits)
|
||||
return len(fruits)
|
||||
}
|
||||
|
||||
func exercise3() []int {
|
||||
@@ -29,14 +29,14 @@ func exercise3() []int {
|
||||
// 从切片中提取子切片
|
||||
numbers := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||||
|
||||
// 提取索引2到6(不包含6)
|
||||
sub1 := numbers[____:____]
|
||||
// 提取索引2到5(不包含5)
|
||||
sub1 := numbers[2:5]
|
||||
|
||||
// 提取前5个元素
|
||||
sub2 := numbers[:____]
|
||||
sub2 := numbers[:5]
|
||||
|
||||
// 提取从第5个开始到末尾
|
||||
sub3 := numbers[____:]
|
||||
sub3 := numbers[4:]
|
||||
|
||||
fmt.Printf("子切片1: %v\n", sub1)
|
||||
fmt.Printf("子切片2: %v\n", sub2)
|
||||
@@ -50,13 +50,13 @@ func exercise4() int {
|
||||
|
||||
// 修改原始切片,观察使用copy复制的切片是否受影响
|
||||
s1 := []int{1, 2, 3}
|
||||
s2 := make([]int, ____(s1))
|
||||
s2 := make([]int, len(s1))
|
||||
|
||||
copy(____, s1)
|
||||
copy(s2, s1)
|
||||
|
||||
s1[0] = 99
|
||||
|
||||
return ____
|
||||
return s2[0]
|
||||
}
|
||||
|
||||
func exercise5() []int {
|
||||
@@ -65,19 +65,19 @@ func exercise5() []int {
|
||||
// 创建一个新切片,包含原切片中所有偶数
|
||||
numbers := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||||
|
||||
var evens ____
|
||||
var evens []int
|
||||
|
||||
for _, num := range ____ {
|
||||
if num%2 == ____ {
|
||||
evens = append(____, num)
|
||||
for _, num := range numbers {
|
||||
if num%2 == 0 {
|
||||
evens = append(evens, num)
|
||||
}
|
||||
}
|
||||
|
||||
return ____
|
||||
return evens
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println("=== 切片 练习 ===\n")
|
||||
fmt.Println("=== 切片 练习 ===")
|
||||
|
||||
result1 := exercise1()
|
||||
fmt.Printf("练习1结果: %v\n", result1)
|
||||
|
||||
Reference in New Issue
Block a user