Go byte&rune

Go byte&rune

1、byte


// byte is an alias for uint8 and is equivalent to uint8 in all ways. It is
// used, by convention, to distinguish byte values from 8-bit unsigned
// integer values.
type byte = uint8

通过源码观察byte的源码发现byte其实是unit8类型,其实是无符号整数类型,源码的注释的的翻译是:
字节是 uint8 的别名,在所有方面都等效于 uint8。按照惯例,它用于区分字节值和 8 位无符号整数值
下面给出一个例子:

	var b byte = 'a'
	fmt.Printf("%v\n", b)
	fmt.Printf("%b\n", b)
	fmt.Printf("%c\n", b)

输出:

97  //原本的类型
1100001 //二进制类型
a //字符类型

2、rune类型

先看源码:

// rune is an alias for int32 and is equivalent to int32 in all ways. It is
// used, by convention, to distinguish character values from integer values.
type rune = int32

源码的注释解释是:
Rune 是 Int32 的别名,在所有方面都等同于 Int32。按照惯例,它用于区分字符值和整数值
之所以会有rune类型的出现,是因为byte类型是int8类型,不足以表示世界上所有的字符,所以才会有rune类型:
goland截图
byte类型是不能用来表示汉字的
来看小例子:

	var r rune = '王'
	fmt.Printf("%v\n", r)
	fmt.Printf("%b\n", r)
	fmt.Printf("%c\n", r)

输出:

29579 //原本的类型
111001110001011 //二进制表示//字符类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值