什么是rune

package main

import (
    "bytes"
    "fmt"
)

func main() {
    nameInBytes := bytes.NewBufferString("liäあ李♥")

    fmt.Println(nameInBytes.Bytes())              //[108 105 195 164 227 129 130 230 157 142 226 153 165]
    fmt.Println(bytes.Runes(nameInBytes.Bytes())) //[108 105 228 12354 26446 9829]

    for {
        r, size, err := nameInBytes.ReadRune()
        if err != nil {
            fmt.Println(err)
            break
        }
        fmt.Println(string(r), r, ",size:", size)
    }
    fmt.Printf("~m~%d~m~~j~%s\n", 10, "liäあ李♥")
    fmt.Println("len of liäあ李♥ is", len("liäあ李♥"))

    /*
        输出结果如下:
    [108 105 195 164 227 129 130 230 157 142 226 153 165]
    [108 105 228 12354 26446 9829]
    l 108 ,size: 1
    i 105 ,size: 1
    ä 228 ,size: 2
    あ 12354 ,size: 3
    李 26446 ,size: 3
    ♥ 9829 ,size: 3
    EOF
    ~m~10~m~~j~liäあ李♥
    len of liäあ李♥ is 13
    */

}




你可能感兴趣的:(什么是rune)