• Go语言遍历字符串——获取每一个字符串元素


    遍历字符串有下面两种写法。

    遍历每一个ASCII字符

    遍历 ASCII 字符使用 for 的数值循环进行遍历,直接取每个字符串的下标获取 ASCII 字符,如下面的例子所示。

    theme := "狙击 start"
    
    for i := 0; i < len(theme); i++ {
        fmt.Printf("ascii: %c  %d
    ", theme[i], theme[i])
    }

    程序输出如下:

    ascii: ?  231
    ascii:     139
    ascii:     153
    ascii: ?  229
    ascii:     135
    ascii: ?  187
    ascii:    32
    ascii: s  115
    ascii: t  116
    ascii: a  97
    ascii: r  114
    ascii: t  116

    这种模式下取到的汉字“惨不忍睹”。由于没有使用 Unicode,汉字被显示为乱码。

    按Unicode字符遍历字符串

    同样的内容:

    theme := "狙击 start"
    
    for _, s := range theme {
        fmt.Printf("Unicode: %c  %d
    ", s, s)
    }

    程序输出如下:

    Unicode: 狙  29401
    Unicode: 击  20987
    Unicode:    32
    Unicode: s  115
    Unicode: t  116
    Unicode: a  97
    Unicode: r  114
    Unicode: t  116

    可以看到,这次汉字可以正常输出了。

    总结

    • ASCII 字符串遍历直接使用下标。
    • Unicode 字符串遍历用 for range。

    Go语言计算字符串长度——len()和RuneCountInString()

  • 相关阅读:
    第十六周总结
    第十五周学习进度
    输出最长字符串链
    第二阶段冲刺10
    第二阶段冲刺09
    第二阶段冲刺08
    输入法评价
    第十四周进度总结
    collections模块
    shutil模块(了解)
  • 原文地址:https://www.cnblogs.com/niuben/p/12523091.html
Copyright © 2020-2023  润新知