golang學習之路 21切片copy

2021-10-01 07:37:04 字數 887 閱讀 1241

package main

import "fmt"

func main()

slice2 :=int

copy(slice2,slice1)//

fmt.println(slice1,slice2)

copy(slice1,slice2)//只會複製slice2的元素到slice1中,並且從第一位開始插入

fmt.println(slice1,slice2)

//設定元素的數量為1000

const elementconut = 1000

//預分配足夠多的元素切片

srcdata :=make(int,elementconut)

//將切片賦值

for i:=0;i//引用切片資料

redata := srcdata//此處為引用,只是指標指向了src的位址

//預分配足夠多的元素切片

copydata :=make(int,elementconut)

//將資料複製到新的切片空間中

copy(copydata,srcdata)

//修改原始資料到第乙個元素

println(srcdata[0],redata[0])

srcdata[0] = 999

//列印引用切片到第乙個元素

println(redata[0],srcdata[0])

//列印複製切片到第乙個和最後乙個元素

println(copydata[0],copydata[elementconut-1])

//copy原始資料從4到6(顧頭不顧尾)

copy(copydata,srcdata[4:6])

for i:=0;i<5;i++

}

golang 切片學習

package main 這裡只說些自己理解的,當然切片的操作遠遠不止這些。import fmt reflect 學習切片首先要明白len和cap的區別。len 是儲存資料多少,cap 是容量大小。舉個例子乙個大會堂可以容納1000人這是cap,但是實際裡面隻座了100人這是len func mai...

Python學習21 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...

golang學習之路 22從切片中刪除元素

package main import fmt func main a a 1 刪除開頭1個元素 a a n 刪除開頭n個元素 不會導致記憶體空間結構的變化 a int 從中間開始刪除 var bint b int a a i copy a i a i 1 刪除中間乙個元素 a a i copy a...