Go语言string和byte以及rune

Go语言string和byte以及rune

go语言中,byte其实是utint8的别名,一个字节;rune是int32的别名,4个字节

一个字节可以表示ASCii中的所有,但是要表示unicode中的别的内容,就得用多个字节了,所以用rune来表示。

那么string和这俩有啥关系呢

用下标访问string

当你用len()求string的时候,返回你的是字节的个数

比如len("asd余余余"),返回12, asd各一个字节,余余余各三个字节。

当你用下标访问的时候呢,返回的是uint8,也就是byte

当使用range遍历string

当你使用range遍历string的时候,它是按一个个字符返回的,不是按字节返回的

for _,v := range "asd" {
    fmt.Println(reflect.TypeOf(v))
}

打印的结果是

int32

int32

int32

posted @   博客是个啥?  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2022-04-17 看了一下net/http包
点击右上角即可分享
微信分享提示