首頁 >後端開發 >Golang >go語言怎麼截取字串

go語言怎麼截取字串

青灯夜游
青灯夜游原創
2023-01-12 16:02:3314160瀏覽

截取方法:1、截取單個字符,語法“string[index]”,其中“string”表示來源字串,“index”表示要取得的字元下標;2、截取子字串,語法“string[start : end]”,其中“start”表示要截取的第一個字元所在的索引(截取時包含該字元),“end”表示要截取的最後一個字元所在的索引(不包含該字符);3、取得整個字串,語法「string[:]」。

go語言怎麼截取字串

本教學操作環境: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)
}

go語言怎麼截取字串

首先,我们定义了一个字符串 变量,赋值为 “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)
}

go語言怎麼截取字串

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

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

  • 获取整个字符串

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

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

go語言怎麼截取字串

首先,我们定义了一个字符串变量,赋值为 “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))
}

go語言怎麼截取字串

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

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

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

以上是go語言怎麼截取字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn