登录
首页 >  Golang >  Go问答

如何在 Go 中通过符文迭代字符串?

来源:Golang技术栈

时间:2023-04-15 07:04:18 300浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何在 Go 中通过符文迭代字符串?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下golang,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我想这样做:

for i := 0; i 
<p>但事实证明,它<code>str[i]</code>具有类型<code>byte</code>( <code>uint8</code>) 而不是<code>rune</code>.</p>
<p>如何通过符文而不是字节来迭代字符串?</p>
<h2 class="daan">
    正确答案
</h2>
<p><a target='_blank'  href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXpusdyfppZkr83GoZTZmpaup4SYgqa7q2mgv6aSnIlsi6jJ0LyejmRv2sV8g9iaprKmmpl5mqurfZ6ua4qcfn2gr7Oqu22CeYjesYiVzZHdrW6HqptkvIZ9Z76zhaqKjY-is9CzbQ' rel='nofollow'>请参阅Effective Go</a>中的此示例:</p>
<pre class="brush:go;toolbar:false">for pos, char := range "鏃ユ湰瑾�" {
    fmt.Printf("character %c starts at byte position %d\n", char, pos)
}

这打印:

character 鏃� starts at byte position 0
character 鏈� starts at byte position 3
character 瑾� starts at byte position 6

对于字符串,范围更适合您,通过解析 UTF-8 分解单个 Unicode 代码点。

理论要掌握,实操不能落!以上关于《如何在 Go 中通过符文迭代字符串?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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