切片:Go 中的越界錯誤
在 Go 中,切片涉及提取現有切片的一部分以建立新切片片。當切片過程中出現越界錯誤時,表示指定範圍超出了來源切片的有效索引邊界。
考慮以下程式碼片段:
package main<p>import "fmt"</p><p>func main() {</p><p>func main() {</p><p></p>func main() {<p><br>func main() {</p><p></p>}<p>func printSlice(s string, x []int) {</p><p><strong>}</strong></p>
執行此程式碼會導致越界error:
缺少的上限預設為 len(slice)
(不是 cap(slice))。 在給定的程式碼中,發生錯誤是因為建立c 切片的切片表達式is:這表示明確指定了下限(1),但未明確指定上限。因此,它預設為 len(b),即 0。但是,指定的下限 (1) 必須小於或等於上限 (0)。不符合此條件,導致越界錯誤。 要避免此錯誤,可以明確指定下限和上限。例如,要從b 切片中只提取第二個元素,您可以編寫:或者,如果您想從第二個元素開始提取整個b 切片,您可以使用:以上是為什麼在 Go 切片中出現切片邊界超出範圍錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!