Bernadette Akinyi

嗨 Techie!🌸

歡迎來到我的 Go 系列!我會用自己能理解的方式分享學習心得、遇到的錯誤,以及那些讓一切豁然開朗的「啊哈!」時刻。不論你也在學 Go,還是只是對它感到好奇,希望你都能從中有所收穫。

歡迎在留言區分享你的見解或經驗。

今天的主題是……請擂鼓! 切片。讓我們一起深入了解吧!

那麼,切片到底是什麼?

初次接觸 Go 的切片時,我以為它只是陣列的另一種名稱。結果根本不是這樣!

切片是對底層陣列的動態視圖。它在內部由一個稱為切片標頭的小型資料結構所表示。切片標頭不會直接儲存元素,而是存放指向底層陣列的指標,以及其長度容量。這個理解讓我明白為什麼修改切片也會影響原始陣列。

另一個有趣且方便的地方,是切片相較於固定大小的陣列更具彈性。切片可以使用 append() 等函式擴展,或透過重新切片來操作底層陣列的子集。這種彈性正是 Go 程式中頻繁使用切片的原因之一。