
创建切片题目描述使用三种不同的方式创建包含元素[1, 2, 3, 4, 5]的切片并输出它们。输出示例方式1直接创建[1 2 3 4 5]方式2make创建[1 2 3 4 5]方式3从数组创建[1 2 3 4 5]实现代码package main import fmt func main() { // 方式1直接创建 slice1 : []int{1, 2, 3, 4, 5} // 方式2使用make创建并初始化 slice2 : make([]int, 5) slice2[0], slice2[1], slice2[2], slice2[3], slice2[4] 1, 2, 3, 4, 5 // 方式3从数组创建 arr : [5]int{1, 2, 3, 4, 5} slice3 : arr[:] fmt.Printf(方式1直接创建%v\n, slice1) fmt.Printf(方式2make创建%v\n, slice2) fmt.Printf(方式3从数组创建%v\n, slice3) }切片截取题目描述创建切片[0,1,2,3,4,5,6,7,8,9]截取并输出以下部分前3个元素第3到第6个元素后4个元素输出示例原切片[0 1 2 3 4 5 6 7 8 9]前3个元素[0 1 2]第3到第6个元素[2 3 4 5]后4个元素[6 7 8 9]实现代码package main import fmt func main() { slice : []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} slice1 : slice[:3] slice2 : slice[2:6] slice3 : slice[6:] fmt.Printf(原切片%v\n, slice) fmt.Printf(前3个元素%v\n, slice1) fmt.Printf(第3到第6个元素%v\n, slice2) fmt.Printf(后4个元素%v\n, slice3) }前后缀追加题目描述创建切片mainSlice[4,5,6]前缀切片prefix[1,2,3]后缀切片suffix[7,8,9]将前缀和后缀分别追加到mainSlice的前后。输出示例主切片[4 5 6]前缀[1 2 3]后缀[7 8 9]最终结果[1 2 3 4 5 6 7 8 9]实现代码package main import fmt func main() { mainSlice : []int{4, 5, 6} prefix : []int{1, 2, 3} suffix : []int{7, 8, 9} fmt.Printf(主切片%v\n, mainSlice) fmt.Printf(前缀%v\n, prefix) fmt.Printf(后缀%v\n, suffix) // 先追加后缀到主切片 mainSlice append(mainSlice, suffix...) // 再将前缀追加到最前面通过创建新切片 result : append(prefix, mainSlice...) fmt.Printf(最终结果%v\n, result) }使用copy函数复制切片题目描述创建切片src[1,2,3,4,5]和长度为3的切片dst使用copy函数将src的前3个元素复制到dst输出结果。输出示例源切片[1 2 3 4 5]目标切片[1 2 3]复制元素个数3实现代码package main import fmt func main() { src : []int{1, 2, 3, 4, 5} dst : make([]int, 3) copied : copy(dst, src) fmt.Printf(源切片%v\n, src) fmt.Printf(目标切片%v\n, dst) fmt.Printf(复制元素个数%d\n, copied) }综合应用题目描述创建切片[苹果,香蕉,橙子,葡萄,西瓜]完成以下操作并输出输出原切片输出切片长度和容量追加芒果和草莓截取前4个元素将第2个元素改为樱桃输出最终结果输出示例原切片[苹果 香蕉 橙子 葡萄 西瓜]长度5容量5追加后[苹果 香蕉 橙子 葡萄 西瓜 芒果 草莓]截取前4个[苹果 香蕉 橙子 葡萄]修改后[苹果 樱桃 橙子 葡萄]实现代码package main import fmt func main() { fruits : []string{苹果, 香蕉, 橙子, 葡萄, 西瓜} fmt.Printf(原切片%v\n, fruits) fmt.Printf(长度%d容量%d\n, len(fruits), cap(fruits)) // 追加元素 fruits append(fruits, 芒果, 草莓) fmt.Printf(追加后%v\n, fruits) // 截取前4个 fruits fruits[:4] fmt.Printf(截取前4个%v\n, fruits) // 修改元素 fruits[1] 樱桃 fmt.Printf(修改后%v\n, fruits) }