登录
首页 >  Golang >  Go问答

为何我会收到多样化的字符串?

来源:stackoverflow

时间:2024-02-23 17:39:27 303浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《为何我会收到多样化的字符串?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我遇到了一个我不明白的情况。

a := "hello"
    fmt.printf("%v %t\n",a[0],a[0])

这给出了 104 uint8

for _,v := range a {
        fmt.Printf("%v %T\n",v,v)
    }

这为第一次迭代提供了 104 int32 。我不明白为什么他们的类型不一样。第一个是 byte,第二个是 rune。我希望两者都是 byte


解决方案


这可以解释它:

https://blog.golang.org/strings

简而言之:如果 a 是一个字符串,则 a[i] 是一个字节,但在这里,r 是一个 rune

for _,r:=range a {
...
}

当您在字符串上进行范围搜索时,您将在该字符串的符文范围内进行范围搜索。要遍历字符串的字节范围,请使用:

for i:=0;i

理论要掌握,实操不能落!以上关于《为何我会收到多样化的字符串?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>