Home >Backend Development >Golang >How to intercept a string in go language

How to intercept a string in go language

青灯夜游
青灯夜游Original
2023-01-12 16:02:3314158browse

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[:]".

How to intercept a string in go language

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

Source string. The character subscript to be obtained.
Parameters Description
##string
index

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

ParametersDescription Source string. 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. 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.

说明

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

截取字符串的案例

  • 获取单个字符

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

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

How to intercept a string in go language

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

How to intercept a string in go language

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

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

  • 获取整个字符串

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

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

How to intercept a string in go language

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

How to intercept a string in go language

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

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

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

string
start
end

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn