陣列亂序
方法1.sliceoutoforder 選定隨機數r 將下標r和下邊i交換,i– ,就是和當前最後一位交換
方法2.rand.perm(陣列長度) 將原陣列下標按照隨機出來的資料賦值給另一陣列
package main
import
"fmt"
import
"math/rand"
import
"time"
var (
rr = rand.new(rand.newsource(time.now().unixnano()))
a1 = [2]int{}
a2 = [10]int{}
)func main()
for i := 0; i < 10000; i++
fmt.println(a1)
fmt.println(a2)
}func sliceoutoforder(in int) int
a1[in[0]] += 1
returnin}
func randslice()
golang筆記 Slice切片
sliceslice代表變長的序列,序列中每個元素都有相同的型別。語法和陣列很像,只是沒有固定長度。引用型別 動態陣列 從概念上來說,slice像乙個結構體,這個結構體包含了三個元素 乙個指標,指向陣列中slice指定的開始位置 長度,即slice的長度 最大長度,也就是slice開始位置到陣列的最...
golang學習筆記 slice
go 語言中的slice型別可以理解為是陣列array型別的描述符,包含了三個因素 指向底層陣列的指標 slice目前使用到的底層陣列的元素個數,即長度 底層陣列的最大長度,即容量 因此當我們定義乙個切片變數,s make int,5,10 即為指向了乙個最大長度為10的底層陣列,目前切片s使用到的...
golang中陣列和slice作為引數的區別
最近專案中有遇到類似問題,做個記錄。舉個例子,5 int為陣列,int為slice 陣列切片 陣列是值型別,而slice為引用型別,值型別作為引數傳入函式,只是拷貝了個副本,修改並不會作用到傳入的那個引數,所以一般使用slice作為引數,免去了拷貝的消耗,但是有坑在裡面,下面寫例子說明。1.slic...