切片:Go 中的越界錯誤
執行以下程式碼時:
你遇到「越界”錯誤。出現此錯誤的原因是建立 c 切片時的切片表達式無效。
在 Go 中,對數組或切片進行切片遵循以下規則:
- 如果 0
則索引在範圍內。對於陣列或字串,= low 對於切片,上索引邊界預設為切片容量 (cap(a)) 而不是其長度。
切片表達式 b[1:] 嘗試建立一個下界為 1 的新切片 c。但是,缺少上限,預設為 b 的長度,即 0。這會導致切片的下限大於上限,從而導致「越界」錯誤。
要修正此錯誤,必須確保切片表達式的上限大於或等於下限。例如,您可以使用以下表達式建立有效的切片 c:
這將建立下限為 1、上限為 2 的切片 c,由於 1 ,因此有效。 = 2
以上是為什麼在 Go 中切片 `b[1:]` 會導致越界錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!