我正在做下面的练习。创建一个包含四个元素的切片。创建一个新切片并将第三个和第四个元素仅复制到其中。我已经返回以下程序 package main import "fmt" func main() { var elements = make([]string, 4) elements[0] = "1" elements[1] = "2" elements[2] = "3" elements[3] = "4" fmt.Println(elements) var newElements = make([]string, 2) newElements = append(elements[:0], elements[:2]...) fmt.Println(newElements) }我的程序的输出是。但我希望 newElements 切片为 [3 4]-[1 2 3 4][1 2]我的程序出了什么问题。
2 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
问题出在线路上newElements = append(elements[:0], elements[:2]...)。这里的elements[:2]意思是元素elements[0],elements[1]。这就是为什么你的输出是[1,2]. 对于第三个和第四个元素,请使用 this elements[2:4]。
package main
import "fmt"
func main() {
var elements = make([]string, 4)
elements[0] = "1"
elements[1] = "2"
elements[2] = "3"
elements[3] = "4"
fmt.Println(elements)
var newElements = make([]string, 2)
newElements = append(elements[:0], elements[2:4]...)
fmt.Println(newElements)
}
- 2 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消