亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 go 中用另一個切片替換部分切片

如何在 go 中用另一個切片替換部分切片

Go
繁星點點滴滴 2022-05-23 14:52:11
我想看看是否有一種簡單的方法可以用另一個切片的所有值替換切片的一部分。例如:x := []int{1,2,0,0}y := []int{3,4}// goal is x == {1,2,3,4}x[2:] = y    // compile errorx[2:] = y[:] // compile error我知道我總是可以遍歷 y,但是 Go 有很多很酷的特性,而且我對 Go 還是很陌生。所以也許我會以錯誤的方式解決這個問題。
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

您可以使用內置副本:


復制內置函數將元素從源切片復制到目標切片。


package main


import "fmt"


func main() {

    x := []int{1, 2, 0, 0}

    y := []int{3, 4}


    copy(x[2:], y)


    fmt.Println(x) // [1 2 3 4]

}

https://play.golang.org/p/TL6Bv4OGeqE

從上面的評論中竊取,您可以在此處了解有關切片的更多信息:


https://golang.org/ref/spec#Appending_and_copying_slices

https://golang.org/doc/effective_go.html#slices

https://github.com/golang/go/wiki/SliceTricks

我還發現這篇博文內容豐富:https ://divan.dev/posts/avoid_gotchas/#arrays-and-slices


查看完整回答
反對 回復 2022-05-23
  • 1 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號