• 技术文章 >后端开发 >Golang

    go语言怎么截取字符串

    青灯夜游青灯夜游2023-01-12 16:02:33原创44

    截取方法:1、截取单个字符,语法“string[index]”,其中“string”表示源字符串,“index”表示要获取的字符下标;2、截取子串,语法“string[start : end]”,其中“start”表示要截取的第一个字符所在的索引(截取时包含该字符),“end”表示要截取的最后一个字符所在的索引(不包含该字符);3、获取整个字符串,语法“string[:]”。

    本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

    字符串 是一个不可改变的字节序列。字符串可以包含任意的数据,但是通常是用来包含可读的文本。

    在开发的过程中,有时候我们需要获取字符串中的单个 字符,或者获取字符串中的某一个片段,这时候就需要我们能够对 golang 的字符串进行截取。

    当我们要截取的字符串中包含中文字符串时,首先需要将字符串转换成 rune 数组。

    Go语言截取字符详解

    语法

    string[index]

    参数

    参数描述
    string源字符串。
    index要获取的字符下标。

    说明:

    这里的 string 表示要截取的字符串,index 表示索引值。Go 语言规定,字符串中第一个字符的索引为 0、第二个字符的索引为 1,后面各字符依此类推。

    Go语言截取字符串详解

    定义

    Go 语言截取字符串,也叫 Go 语言字符串切片。

    语法

    string[start : end]

    参数

    参数描述
    string源字符串。
    start表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取。
    end表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度。

    说明

    使用了字符串切片的形式,截取了字符串 string 从索引 start 开始到索引 end 结束区间的字符串。

    截取字符串的案例

    使用下标索引的形式,获取字符串的单个字符

    package main
    import (
    	"fmt"
    )
    func main() {
    	//使用下标索引的形式,获取字符串的单个字符
    	str := "Hello HaiCoder!"
    	a := str[0]
    	b := str[9]
    	fmt.Println("a =", a, "b =", b)
    }

    1.png

    首先,我们定义了一个字符串 变量,赋值为 “Hello HaiCoder!”。接着,我们使用索引,访问该字符串的第一个元素和第十个元素,并使用 println 打印获取的结果。

    使用字符串切片的形式,截取字符串

    package main
    import (
    	"fmt"
    )
    func main() {
    	//使用字符串切片的形式,截取字符串
    	str := "Hello HaiCoder!"
    	str1 := str[0:4]
    	str2 := str[:8]
    	str3 := str[4:9]
    	fmt.Println("str1 =", str1, "str2 =", str2, "str3 =",str3)
    }

    2.png

    首先,我们定义了一个字符串变量,赋值为 “Hello HaiCoder!”。

    接着,我们使用字符串切片的形式,截取字符串第一个元素开始到第四个元素结束,再次使用字符串切片的形式,截取字符串的第四个元素开始到第九个元素结束。

    使用字符串切片的形式,可以获取整个字符串。

    package main
    import (
    	"fmt"
    )
    func main() {
    	//使用字符串切片的形式,获取整个字符串
    	str := "Hello HaiCoder!"
    	str1 := str[:]
    	fmt.Println("str1 =", str1)
    }

    3.png

    首先,我们定义了一个字符串变量,赋值为 “Hello HaiCoder!”。接着,我们使用字符串切片的形式,截取字符串第一个元素开始到最后一个元素结束,因此,这里返回了整个字符串。

    截取中文字符串时,首先需要将字符串转换成 rune 数组

    package main
    import (
    	"fmt"
    )
    func main() {
    	//截取中文字符串时,首先需要将字符串转换成 rune 数组
    	str := "欢迎访问php中文网,一个在线学习编程的网站。"
    	str1 := str[0:2]
    	strC := []rune(str)
    	str2 := strC[0:2]
    	fmt.Println("str1 =", string(str1), "str2 =",string(str2))
    }

    4.png

    我们定义了一个包含中文的字符串变量 str,接着,我们直接使用索引的形式获取字符串的第一个到第二个子串,输出了乱码。

    我们使用 强制类型转换,将字符串类型转成了 rune 数组,并赋值给变量 strC,接着我们再次使用索引的形式获取字符串的第一个到第二个子串,正确输出了子串内容。

    【相关推荐:Go视频教程编程教学

    以上就是go语言怎么截取字符串的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:截取字符串 go语言
    上一篇:golang格式化占位符有哪些 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • golang怎么将通道关闭• go语言接口类型怎么转换• Go语言中goroutine是啥• Go语言GOPATH是什么• go语言中for range是什么结构• Go语言中延迟执行语句是什么
    1/1

    PHP中文网