Go - Slices

Slices contains many example images, causes I can't save in Blogger in one article.
So I split to 3 parts.

Go - Slices (1/3)
Go - Slices (2/3)
Go - Slices (3/3)

Go - Slices - 3

  • Ex. Slice is in the middle of an array, what will happen in that array after append?
    => Array value will reflect slice change, but array instance will change after appended slice capacity larger than array
  • Ex, Use built-in function copy to copy elements from one slice to another
    Copy won't work if length is not enough
  • Copied slice refer to the same array? What will happen when we modify value from copied slice?
    => Modification in copied slice won't affect original array.
  • Must not assume modification in old slice will affect new slice
  • Ex. Declare function with ... makes function variadic, can accept any numbers of arguments.
  • Ex. Remove the middle of a slice.
    It seems underlying array won't be removed when we just remove from slice, need to be careful of this part.
    Easy to confuse.

別名演算法 Alias Method

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