Go中的子串是一个较大的字符串的一部分。它是通过提供一个起始索引和一个长度来指定的,它包含了从起始索引开始一直到指定长度的原始字符串的字符。子串中的字符仍然是原始字符串的一部分,并共享相同的内存。
在Go中,字符串是一个字符的序列。它是一种不可改变的数据类型,这意味着一旦字符串被创建,它就不能被修改。字符串用双引号(””)括起来,可以包含字母、数字和符号的任何组合。
方法1:通过使用Trimspace函数
在这个例子中,我们将编写一个go语言程序,通过使用一个外部函数从字符串中获取子串。我们创建的函数将把字符串作为一个参数,同时还需要获得字符串元素的起始和结束变量。
语法
For Output Code pre class
trimSpace() 函数存在于字符串包中,用于删除字符串中的字符之间的空格。该函数接受所需的字符串作为参数,并返回去除字与字之间的空格后得到的最终字符串。
算法
- 第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函数,以便从go语言的字符串中获得一个子串。
语法
func Split(str, sep string) []string
Split()函数用于通过提供的分隔符来分割一个字符串。这个函数存在于strings包中,它接受要分割的字符串和分隔符作为一个参数。然后,该函数返回最终的字符串数组作为结果。
算法
- 第1步 – 首先,我们需要导入fmt和strings包。
-
第2步 – 然后启动main()函数。
-
第 3步 – 在这个函数中初始化一个字符串变量并为其赋值。
-
第 4 步 – 进一步在屏幕上打印字符串。
-
第 5步 – 使用strings包中的split()函数
-
第 6步 – 在一个新的变量中存储子串的索引元素。
-
第 7步 – 现在,通过使用fmt.Println()函数在屏幕上打印子串。
例子
Go语言程序通过使用split函数从字符串中获得一个子串
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()函数,而在第二个例子中,我们使用了索引的概念来实现这个结果。在第三个例子中,我们使用了字符串包中的split()函数。