GoLang

go内建变量rune类型

rune类型

BoYang
2022-03-17
1 min

# rune可以做什么?

rune 相当于 char 类型,32 位。

  • 使用range 遍历 pos, rune 对
  • 可以使用 utf8.RuneCountInString() 获取字符数量
  • 使用 len 获取字符长度
  • 使用 byte[] 获取字节

# 使用 rune 遍历字符串

package main

import (
    "fmt"
    "unicode/utf8"
)

func main()  {
    s := "Yes我爱大中国"
    for _, b := range []byte(s){
        fmt.Printf("%X \n", b)  // 59 65 73 E6 88 91 E7 88 B1 E5 A4 A7 E4 B8 AD E5 9B BD
    }
    fmt.Println("字符数:", utf8.RuneCountInString(s))  // 8
    
    for i, ch := range []rune(s){
        fmt.Printf("(%d, %c) \n", i, ch)  // (0, Y)(1, e)(2, s)(3, 我)(4, 爱)(5, 大)(6, 中)(7, 国)
    }
}