Go语言之rune

作者: 灰常出色 | 来源:发表于2020-01-08 14:03 被阅读0次

转自公众号:“灰子学技术”,原文链接:https://mp.weixin.qq.com/s/Q5RPN0NUmAQzs3o2Tw7HXg

本章算是Go语言中的一个小知识点,很简单,了解就好。

1. rune类型

rune类型是Go语言中的一个基本类型,其实就是一个uint32的别名,主要用于表示一个字符类型大于一个字节小于等于4个字节的情况下,特别是中文字符,定义如下所示:

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

备注:摘自https://golang.org/pkg/builtin/#rune

备注:一个中文字符由三个字节才能表示,所以rune对于字符串是中文字符的情况下,支持比较好。

2.byte类型

byte类型是uint8的别名,表示一个字节,定义如下所示:

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

备注:摘自https://golang.org/pkg/builtin/#byte

3.例子

结果分析:通过上面的输出结果,我们可以看出,1). 对于英文字符串,不管是用rune类型还是byte类型,不管是字符串的长度还是取值,都是相同的。2).对于中文字符来说,rune类型的操作就比byte类型的操作更加友好很多,我们可以通过[:]操作直接取出中文的对应数量,而byte取出来却是乱码??。


灰子学技术:

相关文章

  • Go语言之rune

    转自公众号:“灰子学技术”,原文链接:https://mp.weixin.qq.com/s/Q5RPN0NUmAQ...

  • Go语言中的字符和字符串

    Go语言中的字符 在Go语言中,没有字符类型,字符类型是rune类型,rune是int32的别称。 下面用一个简单...

  • go-rune

    猜测结果应该是:8:5个字符1个空格2个汉字。那么正确答案是多少呢?咦...结果居然是12,这是为什么呢!? go...

  • Go语言之字符类型(byte和rune)九

    字符串中的每一个元素叫做“字符”,在遍历或者单个获取字符串元素时可以获得字符。Go 语言的字符有以下两种: 一种是...

  • 知识文章索引

    Golang 字符串 从golang字符串string遍历说起,聊聊go语言的Strings、bytes、rune...

  • Go语言中byte类型和rune类型区别

    Go语言中byte类型和rune类型 2019-09-08 13:32:00weixin_30721077阅读数 ...

  • day01-09byte_rune

    byte(uint)(英文)和rune(int32)(中文)类型 Go语言中为了处理非ASCII码类型的字符,定义...

  • go 语言中的 rune

    rune是Go语言中一种特殊的数据类型,它是int32的别名,几乎在所有方面等同于int32,用于区分字符值和整数...

  • Go语言入门:string、rune

    初始化 单行的字符串初始化和大部分语言一样,使用双引号,支持和python一样的多行,但是用反单引号,就是键盘上按...

  • go [] rune 和 [] byte 区别

    在看到 go 字符串的时候, 偶然看到 []rune(s), 它可以将字符串转化成 unicode 码点。那么它和...

网友评论

    本文标题:Go语言之rune

    本文链接:https://www.haomeiwen.com/subject/vrpjactx.html