golang byte与rune区别

时间:2023-03-09 13:09:31
golang byte与rune区别

先看代码

package main

import (
"fmt"
) func main() {
var a = "hello world" var b = "中"
fmt.Println([]rune(a))
fmt.Println([]rune(b))
fmt.Println([]byte(b)) }

golang byte与rune区别

源码也没有找到具体位置,盗用网上张图把

golang byte与rune区别

byte是uint8、rune为uint32,一个仅限于ascii码的值,一个支持更多的值。rune比byte能表达更多的数。

golang默认使用utf8编码,一个中文占用3字节,一个utf8数字占用1字节,utf8字母占用1字节