Go语言程序获取字符串的子字符串


Go 语言中的子字符串是指较大字符串的一部分。它通过提供起始索引和长度来指定,包含从起始索引开始到指定长度的原始字符串中的字符。子字符串中的字符仍然是原始字符串的一部分,并共享相同的内存。

在 Go 中,字符串是一系列字符。它是一种不可变的数据类型,这意味着一旦创建字符串,就不能修改它。字符串用双引号 ("") 括起来,可以包含任意组合的字母、数字和符号。

方法 1:使用 TrimSpace 函数

在本例中,我们将编写一个 Go 语言程序,使用外部函数从字符串中获取子字符串。我们创建的函数将字符串作为参数,以及要获取字符串元素的起始和结束变量。

语法

For Output Code pre class

trimSpace() 函数位于 strings 包中,用于删除字符串字符之间的空格。该函数接受所需的字符串作为参数,并在删除其单词之间的空格后返回最终字符串。

算法

  • 步骤 1 − 首先,我们需要导入 fmt 和 strings 包。

  • 步骤 2 − 创建一个函数,该函数将字符串及其要获取子字符串的两个索引作为参数,并返回子字符串。

  • 步骤 3 − 启动 main() 函数。

  • 步骤 4 − 在 main 函数内部初始化一个字符串变量并在其中存储值。

  • 步骤 5 − 在屏幕上打印变量。

  • 步骤 6 − 现在通过传递所需的参数来调用子字符串函数,并将函数返回的结果存储在一个变量中。

  • 步骤 7 − 该变量包含给定索引之间的子字符串。在屏幕上打印它们。

示例

使用外部函数从字符串中获取子字符串的 Go 语言程序

Open Compiler
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 语言程序

Open Compiler
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

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

方法 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 语言程序

Open Compiler
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() 函数。

更新于: 2023年2月13日

8K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告