Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > Go字符串遍历方法

Go语言中实现字符串遍历的两种方法

作者:树下水月

这篇文章主要介绍了Go语言中两种字符串遍历方法,方法1和方法2,方法2解决了中文字符遍历时可能出现的乱码问题,通过将字符串转换为[]rune切片来避免索引输出错误,需要的朋友可以参考下

首先我们定义一个字符串,并进行相关循环输出

方法1

package main

import (
	"fmt"
)

func main() {
    var str string = "hello,world"
	for i := 0; i < len(str); i++ {
		fmt.Printf("%c \n", str[i])
	}
}

方法2:

package main

import (
	"fmt"
)

func main() {
    //字符串变量
    var str string = "hello,world"
	for index, val := range str {
		fmt.Printf("index=%d,val=%c \n", index, val)
	}

一点问题都没有   划重点了   但如果字符串出现中文  就会乱码 range 没有,如:

package main

import (
	"fmt"
)

func main() { 
    var str string = "hello,world北京"
	for i := 0; i < len(str); i++ {
		fmt.Printf("%c \n", str[i])
	}

为什么呢,因为len的时候,是根据字节进行渲染,一个汉字默认3个字段,索引输出乱码了 解决办法是需要加str转为[]rune切片

package main

import (
	"fmt"
)

func main() {
    var str string = "hello,world北京"
	str2 := []rune(str)
	for i := 0; i < len(str2); i++ {
		fmt.Printf("index=%d,%c \n", i, str2[i])
	}
}

到此这篇关于Go语言中实现字符串遍历的两种方法的文章就介绍到这了,更多相关Go字符串遍历方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文