美文网首页golang 编程笔记
【golang】rune类型必知点

【golang】rune类型必知点

作者: dongzd | 来源:发表于2020-05-20 20:03 被阅读0次

在看golang的源码包经常看到rune,一直和byte搞混淆。先来看看rune与byte区别:

  • byte 等同于int8,常用于处理ascii字符
  • rune等等同于int32,常用来处理unicode或者utf-8字符

golang中的string底层由[]byte组成
golang中默认编码是utf-8

易错点

1、在golang中的单引号表示字符,双引号表示的字符串,用单引号表示的字符,打印的是utf-8转换后的数值

a := 'A'
fmt.Println(a)
65

2、在golang里,中文字符在unicode下占2个字节,在utf-8下占3个字节

a := "你好,china"
fmt.Println(len(a))
fmt.Println(len([]rune(a)))
14
8

如果想得到字符串真正长度(一个中文字符一个长度),需转换为rune。

相关文章

  • 【golang】rune类型必知点

    在看golang的源码包经常看到rune,一直和byte搞混淆。先来看看rune与byte区别: byte 等同于...

  • 【golang】浅析rune数据类型

    在学习golang基础的时候,发现有个叫rune的的数据类型,当时不理解这个类型的意义。 查询,官方的解释如下: ...

  • 知识文章索引

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

  • golang byte and rune

    cat $GOROOT/src/builtin/builtin.gopackage builtintype byt...

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

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

  • golang——rune使用详解

    一、定义 经常在开源库中,能rune关键字,从golang源码中看出,它是int32的别名(-2^31 ~ 2^3...

  • string相关函数

    len():内建函数,查找字符串长度。 如果字符串中有中文,需要将其转换为[]rune类型:r := []rune...

  • 【golang】slice必知必会

    slice数据结构 slice扩容逻辑 1.如果slice容量足够容纳新增的元素,那么不会扩容。2.如果新增元素后...

  • rune数据类型

    byte 等同于int8,常用来处理ascii字符rune 等同于int32,常用来处理unicode或utf-8...

  • go 全角转换半角

    google了半天,并没有很清晰的答案,这里记录下;golang里面完成这件事情是用rune和strings里面的...

网友评论

    本文标题:【golang】rune类型必知点

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