美文网首页
go 字符串的遍历

go 字符串的遍历

作者: chenaixiang | 来源:发表于2017-09-07 16:50 被阅读234次

一 go字符串简介

在go 语言中字符串是一个不可变的字节序列,最基本的组成元素的字节,并且使用UTF-8的编码方式,所以每个字符对应的字节长度是不一样的。

二 字符串遍历

2.1 其他语言的遍历方式(以php的为例)

其他语言基本上支持两种遍历方式。

2.1.1 下表遍历

s := "hello,world"
for i =0;i<len(s);i++ {
    s[i]
}

2.1.2 range 方式

s := "hello,world"

for k,v := range {
    
}

2.2 go的字符串变量方式

2.2.1 range 的方式

和其他语言一样,直接支持range的方式

    s := "hello,world"
    for k,v := range s {
    
    }

2.2.2 显示将unicode 转换为rune 的方式

go 标准库提供关于utf8到rune的函数

    s := "hello,世界"
    
    for i:=0;i<len(s) {
        r,size :=  utf8.DecodeRuneInString(s[i:])
        
        i += size
    }

2.2.3 下标直接访问

我们之所以不能直接使用下标访问字符串,是因为我们通过下标访问的是第几个字节而不是第几个字符,而utf8方式的字符长度又是不固定的,但是我们可以将utf8编码的字符串 变为utf-32的编码方式,也就是go中的[]rune.
    s := "hello,世界"
    
    t :=[]rune(s)
    for i:=0;i<len(t);i++{
        t[i] // 就代表第i个字符,而不是字节了
    }

相关文章

  • 知识文章索引

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

  • 关于golang指针的理解与使用

    Go指针理解 Go 有指针,但是没有指针运算。你不能用指针变量遍历字符串的各个字节。在 Go 中调用函数的时候,得...

  • Go 字符串常用的系统函数

    Go 字符串常用的系统函数 统计字符串的长度,按字节len(str) 字符串遍历,同时处理有中文的问题 r:[]r...

  • 2021-12-26 1078 Bigram 分词

    送分题,将字符串split转字符数组即可,然后进行遍历匹配。Go版本:

  • go 字符串的遍历

    一 go字符串简介 在go 语言中字符串是一个不可变的字节序列,最基本的组成元素的字节,并且使用UTF-8的编码方...

  • 3. 字符串的扩展

    字符串的遍历接口 ES6为字符串添加了遍历器接口,使得字符串可被for..of循环遍历 for...of遍历字符串...

  • Go中字符串的遍历

    首先说一下go中的字符串类型:字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。...

  • go常用字符串操作

    整理一些go的字符串常用操作。 修改字符串中的一个字符 字符串切片 使用for或者for-range遍历一个字符串...

  • String

    字符串的遍历器接口 ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历 模版字符串 模版字符...

  • ES6:字符串的扩展

    1、字符串的遍历 ES6为字符串添加了遍历接口,使得字符串可以被 for...of 循环遍历。 2、include...

网友评论

      本文标题: go 字符串的遍历

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