在Go 中分配非常量大小的陣列:切片來救援
與其他語言不同,Go 不允許動態分配數組直接尺寸。當您嘗試建立具有可變大小的陣列時,例如 var a [n]int,您將遇到編譯時錯誤。
此限制不是限制,而是對使用切片的推動,Go 中更靈活、更強大的資料結構。切片與數組類似,但它們具有可以在運行時調整的動態大小。
要使用切片分配數組,可以使用make 函數,該函數會建立切片和底層數組:
n := 12 s := make([]int, n, 2*n)
在這個例子中,s是一個整數切片,並且分配了一個大小為2*n的新數組來儲存切片元素。切片 s 最初指的是陣列的前半部。
此方法既提供了動態調整數組大小的靈活性,也提供了使用數組的好處,例如保證連續的記憶體分配。因此,Go 中的常見做法是依賴切片而不是陣列來進行動態資料管理。
以上是如何在 Go 中分配非常量大小的陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!