1. 程式人生 > >golang byte與rune區別

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))

}

原始碼也沒有找到具體位置,盜用網上張圖把

byte是uint8、rune為uint32,一個僅限於ascii碼的值,一個支援更多的值。rune比byte能表達更多的數。

golang預設使用utf8編碼,一箇中文佔用3位元組,一個utf8數字佔用1位元組,utf8字母佔用1位元組