rune是一个整数类型(int32), 用于表示Unicode字符. golang 中的字符串底层实现是通过 byte 数组的, 中文字符在 unicode 下占2个字节, 在 utf-8 编码下占3个字节, 而 golang 默认编码正好是utf-8

  • byte 等同于int8, 常用来处理 ascii 字符
  • rune 等同于int32, 常用来处理 unicode 或 utf-8 字符

以下是一些关于rune的基本信息和用法:

  • rune类型的变量可以用单引号'来表示字符字面值. 例如, var r rune = 'A' 表示字符'A'.
  • 由于 rune 实际上是一个整数类型, 因此可以对 rune 类型的变量进行算术和比较操作.
  • 可以使用 len 函数获取一个字符串中 rune 的数量. 例如, len([]rune("你好, 世界")) 会返回6, 而 len("你好, 世界") 会返回14.

  • 可以通过使用range关键字遍历字符串中的每个rune字符. 例如:

    str := "你好, 世界"
    for i, c := range str {
      fmt.Printf("%d: %c\n ", i, c)
    }
    for i, c := range []rune(str) {
      fmt.Printf("%d: %c\n ", i, c)
    }
    
  • 可以使用 strconv.QuoteRune 函数将 rune 转换为带引号的字符串表示形式.

results matching ""

    No results matching ""