golang byte与rune区别

Posted lc161616

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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字节

 

以上是关于golang byte与rune区别的主要内容,如果未能解决你的问题,请参考以下文章

golang之基本数据类型

Go语言中的byte和rune区别对比

golang unicode/utf8源码分析

golang中的interface{}转其他类型

golang代码片段(摘抄)

Python 程序员的 Golang 学习指南(III): 入门篇