Go程式設計學習第五天

2021-10-12 09:53:38 字數 2107 閱讀 1940

二、切片

//常用以下三種方式來定義

var array1 =[5

]int

//在宣告時沒有為其指定初值,所以陣列內的值被初始化為型別的零值。

var array2 =[5

]int

//使用顯示的方式為陣列定義初值。

var array3 =[5

]int

//通過下標的方式為下標為3的位置賦上了初值10,即此陣列為0 0 0 10 0

對上面array1賦值

for i :=

0; i <

len(array1)

; i++

遍歷陣列

for index, value :=

range array1

//輸出陣列array的下標及對應的值

var arr4 =[5

][5]

int,,}

//對5*5的陣列賦值,且只是第一行和第二行有值,其餘為0

由於go語言傳遞陣列是通過拷貝,所以當陣列很大時便會非常佔記憶體,通常採用1:傳遞陣列的指標2:傳遞切片

指標陣列:陣列裡面存放的是指標

func

main()

for i :=

0; i <

5; i++

fmt.

println()

test1

(a)for i :=

0; i <

5; i++

}func

test1

(a [5]

*int

) fmt.

println()

}

陣列指標:即指向陣列的指標

func

main()

func

test

(aptr *[5

]int

)

切片解決了陣列長度固定的短板,其操作與陣列類似,但是長度是可變的

//方法一

var s1 =

int//空切片

//方法二

var s2 =

int//定義長度為3的切片

//方法三

var s3 =

make([

]int,5

)//方法四

var s4 =

make([

]int,5

,10)

擴充

func

main()

b := a[1:

3]//取a的2,3

b =(b,4

) b =

(b,5

) b =

(b,6

) b =

(b,7

) fmt.

println

(a) fmt.

println

(b)}

拼接

func

main()

b := a[1:

3]fmt.

println

(b) a =

(a, b...

) fmt.

println

(a)}

切片複製

func

main()

b :=

make([

]int,3

)copy

(b, a)

fmt.

println

(a) fmt.

println

(b)}

q:宣告b切片時,其長度比a切片長,複製結果是怎麼樣的?

a: 會將多餘的部分賦值為0

q:宣告b切片時,其長度比a切片短,複製結果是怎麼樣的?

a:b只取定義的長度

q:宣告b切片時,其長度被定義為0,那麼呼叫copy函式會報錯嗎?

a:不會,此時b為空切片

學習第五天

清楚測試用例是什麼 測試用例的重要性 有效性 測試用例是測試人員測試過程中的重要參考依據,準確的測試用例的計畫 執行和跟蹤是 測試的有效性的有力證明 可復用性 設計良好的測試用例可以重複執行,能節約時間,提高測試效率 易組織性 清晰詳細的測試用例能夠便於測試執行的開展 可評估性 測試用例的通過率是檢...

Java學習第五天

當類載入器需要載入某個類時,類載入器會在載入初始化後生成該類的乙個類物件 class 用於描述該類的元資料資訊等。在其後的連線過程中,會初始化該類的靜態成員 變數或靜態初始化器 靜態初始化變數和初始化器按照先後順序執行初始化。例如 static int a 10 static 這樣初始化後a 100...

C 學習第五天

c 中的is和as is可用於任何型別。例如 int a 10 a is object true object o 10 o is int true o person o is int false as右側型別必須為引用型別或可空型別。as操作如果失敗,不丟擲異常,而是返回null 結構 struc...