Golang 从字符串中获取子字符串
在Go中,子字符串是较大字符串的一部分。它由提供起始索引和长度来指定,并且它包含从起始索引开始并延伸到指定长度的原始字符串的字符。子字符串中的字符仍然是原始字符串的一部分,并共享同一内存。
在Go中,字符串是字符序列。它是一个不可变的数据类型,意味着一旦创建了一个字符串,就无法修改它。字符串用双引号(“”)包围,可以包含任何字母、数字和符号的组合。
方法1:使用Trimspace函数
在这个示例中,我们将编写一个Go语言程序,通过使用一个外部函数来从字符串中获取子字符串。我们创建的函数将以字符串作为参数,以及应该获取字符串元素的起始和结束变量。
语法
For Output Code pre class
trimSpace()函数位于strings包中,用于去除字符串中字符之间的空格。该函数接受一个必需的字符串作为参数,并返回去除了单词之间空格后得到的最终字符串。
步骤
- 步骤1 - 首先,我们需要导入fmt和strings包。
-
步骤2 - 创建一个函数,该函数以字符串及其所要获取子字符串的两个索引作为参数,并返回子字符串。
-
步骤3 - 开始main()函数。
-
步骤4 - 在main中初始化一个字符串变量并将值存储在其中。
-
步骤5 - 在屏幕上打印变量。
-
步骤6 - 现在通过向其传递所需参数来调用子字符串函数,并将函数返回的结果存储在一个变量中。
-
步骤7 - 该变量包含给定索引之间的子字符串。在屏幕上打印它们。
示例
使用外部函数从字符串中获取子字符串的Go语言程序
package main
import (
"fmt"
"strings"
)
// Substring function to get a substring from the string
func Substring(str string, start, end int) string {
return strings.TrimSpace(str[start:end])
}
func main() {
// initializing a string
var str string = "Live young live free"
fmt.Println("The given string is:", str)
// Get substring from index 5 to 15
substring := Substring(str, 5, 15)
fmt.Println("The string values between the index 5 and 15 are:", substring)
}
输出
The given string is: Live young live free
The string values between the index 5 and 15 are: young live
方法2:使用索引的概念
在本文中,我们将使用索引的概念来编写一个Go语言程序,以从原始字符串中获取子字符串。
步骤
- 步骤1 − 首先,我们需要导入fmt包。
-
步骤2 − 开始main()函数。
-
步骤3 − 在main()内初始化一个字符串变量并赋值。
-
步骤4 − 通过使用fmt.Println()函数将该数组打印在屏幕上。
-
步骤5 − 进一步,初始化两个整数类型的变量以存储数组的起始和结束索引。
-
步骤6 − 将结果存储在一个名为result的变量中,并通过使用fmt.Println()函数将此变量打印在屏幕上。
示例
使用索引的概念,获取字符串中的子字符串的Go语言程序。
package main
import "fmt"
func main() {
// initializing a string
var str string = "Prevention is better than cure"
fmt.Println("The given array is:", str)
var startInd int = 11
var endInd int = 20
result := str[startInd:endInd]
fmt.Println()
fmt.Println("The substring is required between", startInd, "and", endInd)
fmt.Println("Array obtained after getting elements between the above indices are:", result)
}
输出
The given array is: Prevention is better than cure
The substring is required between 11 and 20
Array obtained after getting elements between the above indices are: is better
方法3:使用Split函数
在这个示例中,我们将使用Split函数来从go语言的字符串中获取子字符串。
语法
func Split(str, sep string) []string
Split()函数用于通过提供的分隔符将字符串分割。该函数位于strings包中,它接受要分割的字符串作为参数以及一个分隔符。然后,该函数将作为结果返回最终的字符串数组。
步骤
- 步骤1 − 首先,我们需要导入fmt和strings包。
-
步骤2 − 然后开始main()函数。
-
步骤3 − 在这个函数内部初始化一个字符串变量并赋值给它。
-
步骤4 − 进一步将字符串打印到屏幕上。
-
步骤5 − 使用strings包中的split()函数。
-
步骤6 − 在一个新变量中存储子字符串中的元素索引。
-
步骤7 − 现在,使用fmt.Println()函数将子字符串打印到屏幕上。
示例
使用split函数从字符串中获取子字符串的Go langauage程序
package main
import (
"fmt"
"strings"
)
func main() {
// Initializing a string
var str string = "Never give up"
fmt.Println("The given string is:", str)
// Split string into a slice of substrings
substrings := strings.Split(str, " ")
substring := substrings[1]
fmt.Println("The second element in the above string is:", substring)
}
输出
The given string is: Never give up
The second element in the above string is: give
结论
我们成功编译并执行了一个Go语言程序,用于从给定字符串中获取子字符串,并提供了示例。我们在第一个示例中使用了一个单独的函数和trimSpace()函数,而在第二个示例中,我们使用了索引的概念来实现结果。在第三个示例中,我们使用了strings包中的split()函数。