Interception method: 1. Intercept a single character, the syntax is "string[index]", where "string" represents the source string, and "index" represents the character subscript to be obtained; 2. Intercept a substring, the syntax "string[start : end]", where "start" represents the index of the first character to be intercepted (including this character when intercepting), and "end" represents the index of the last character to be intercepted (excluding this character) ); 3. Get the entire string, syntax "string[:]".
The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.
String is an immutable sequence of bytes. Strings can contain arbitrary data, but are typically used to contain human-readable text.
During the development process, sometimes we need to obtain a single character in the string, or obtain a certain fragment in the string. At this time, we need to be able to intercept the golang string.
When the string we want to intercept contains a Chinese string, we first need to convert the string into a rune array.
Detailed explanation of character interception in Go language
Grammar
string[index]
Parameters
Parameters | Description |
---|---|
##string | Source string.|
index | The character subscript to be obtained.
Note:
The string here represents the string to be intercepted, and index represents the index value. The Go language stipulates that the index of the first character in the string is 0, the index of the second character is 1, and so on for the following characters.Go language interception string detailed explanation
Definition
Go language interception string, also It's called Go language string slicing.Syntax
string[start : end]
Parameters
说明
使用了字符串切片的形式,截取了字符串 string 从索引 start 开始到索引 end 结束区间的字符串。
截取字符串的案例
获取单个字符
使用下标索引的形式,获取字符串的单个字符
package main import ( "fmt" ) func main() { //使用下标索引的形式,获取字符串的单个字符 str := "Hello HaiCoder!" a := str[0] b := str[9] fmt.Println("a =", a, "b =", b) }
首先,我们定义了一个字符串 变量,赋值为 “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) }
首先,我们定义了一个字符串变量,赋值为 “Hello HaiCoder!”。
接着,我们使用字符串切片的形式,截取字符串第一个元素开始到第四个元素结束,再次使用字符串切片的形式,截取字符串的第四个元素开始到第九个元素结束。
获取整个字符串
使用字符串切片的形式,可以获取整个字符串。
package main import ( "fmt" ) func main() { //使用字符串切片的形式,获取整个字符串 str := "Hello HaiCoder!" str1 := str[:] fmt.Println("str1 =", str1) }
首先,我们定义了一个字符串变量,赋值为 “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)) }
我们定义了一个包含中文的字符串变量 str,接着,我们直接使用索引的形式获取字符串的第一个到第二个子串,输出了乱码。
我们使用 强制类型转换,将字符串类型转成了 rune 数组,并赋值给变量 strC,接着我们再次使用索引的形式获取字符串的第一个到第二个子串,正确输出了子串内容。
The above is the detailed content of How to intercept a string in go language. For more information, please follow other related articles on the PHP Chinese website!
Description | |
---|---|
string | Source string.|
start | indicates the index of the first character to be intercepted (this character is included when intercepting). If not specified, it defaults to 0, which means it is intercepted from the beginning of the string.|
end | indicates the index of the last character to be intercepted (this character is not included when intercepting). If not specified, defaults to the length of the string.