Go - Arrays


  • Declare an array
    • Ex. var a [3]int
    • a[0]
    • len(a)
    • for idx, v range a {}
    • for _, v range a ,{}
  • Declare with specified values. Default value is zero value
    • Ex. var q [3]int = [3]int{1,2,3}
    • Ex. var q [3]int = [3]int{1,2}// rest is 0
  • Size of an array is part of its type. So it will panic to assign [4]int to a variable which is declared as [3]int
    • Ex. var q [3]int
    • q = [4]int //compile error
  • Don’t specify length, length will be given with specified values
    • Ex. q := [...]int{1,2,3}
  • Specify values in the specified index
    • Ex. a := [...]int{9:50}
  • If array element is comparable, then array is comparable. Can use == to check if two array are equal
  • Arrays with different size are treated as different type, so it is seldom used as function parameters, instead we use slices. (Use different length array to compare will get compile error)



沒有留言:

張貼留言

別名演算法 Alias Method

 題目 每個伺服器支援不同的 TPM (transaction per minute) 當 request 來的時候, 系統需要馬上根據 TPM 的能力隨機找到一個適合的 server. 雖然稱為 "隨機", 但還是需要有 TPM 作為權重. 解法 別名演算法...