You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言保留for循环i<=10条件如何避免index out of range报错

Go代码保留i<=10循环条件的修改方案

报错的核心原因是字符串"Hello"的字节长度仅为5,合法索引范围为0~4,直接访问大于等于5的索引会触发越界panic。你可以通过增加边界校验的方式保留原循环条件,修改逻辑如下:

在访问字符串索引前先判断索引是否在合法范围内,仅合法索引执行取值操作,超出范围的索引可以自定义处理逻辑,修改后代码示例:

package main

import "fmt"

func main() {
    x := "Hello"
    strLen := len(x)
    for i := 0; i <= 10; i++ {
        if i < strLen {
            fmt.Printf("%#U\n", x[i])
        } else {
            // 此处可按需求自定义超出范围的处理逻辑
            fmt.Printf("索引%d超出字符串字节长度(长度为%d)\n", i, strLen)
        }
    }
}

额外注意事项:

  • 上述示例中len(x)获取的是字符串的字节长度,仅适合纯ASCII字符场景的边界判断
  • 如果需要处理包含中文、Emoji等多字节字符的字符串,建议先将字符串转为[]rune类型后再做长度计算和索引访问,避免取值出现乱码

内容的提问来源于stack exchange,提问作者Mritunjay Upadhyay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:24:00