Go语言程序:迭代字符串中的每个字符


在Go语言中,字符串是字符的集合。由于Go语言中的字符串是不可变的,因此一旦创建就无法修改。但是,可以通过连接或添加到现有字符串来创建新的字符串。字符串类型是Go语言中的内置类型,可以像其他任何数据类型一样以多种方式使用。

语法

func len(v Type) int

len() 函数用于获取任何参数的长度。它接受一个参数作为我们要查找其长度的数据类型变量,并返回一个整数类型的返回值,表示该变量的长度。

func Split(str, sep string) []string

Split() 函数用于通过提供的分隔符分割字符串。此函数位于 strings 包中,它接受要分割的字符串以及分隔符作为参数。然后,该函数返回最终的字符串数组作为结果。

算法

  • 步骤 1 − 创建一个名为 main 的包并声明 fmt(格式化包)包

  • 步骤 2 − 创建一个 main 函数,并在该函数中创建一个要迭代其每个字符的字符串。

  • 步骤 3 − 使用用户定义的函数或内部函数来迭代字符串的每个字符

  • 步骤 4 − 使用 fmt.Println() 函数执行打印语句,其中 ln 表示换行。

示例 1

在这个例子中,我们将看到如何使用 for 循环迭代字符串的每个字符。输出将是打印在控制台上的字符以及一个空格字符。

package main
import "fmt"

func main() {
	mystr := "Hello, alexa!" //create string
	fmt.Println("The original string given here is:", mystr)
	fmt.Println("The iteration performed through each character of string:")
	for i := 0; i < len(mystr); i++ {   //run a loop and iterate through each character
		fmt.Printf("%c ", mystr[i])  //print characters along with the space character
	}
}

输出

The original string given here is: Hello, alexa!
The iteration performed through each character of string:
H e l l o ,   a l e x a ! 

示例 2

在这个例子中,我们将看到如何使用 rune() 方法迭代字符串的每个字符,其中 str 被转换为 rune 切片,然后进一步迭代并打印到控制台。

package main
import "fmt"
func main() {
	mystr := "Hello, alexa!"  //create string
	fmt.Println("The original string given here is:", mystr)
	runes := []rune(mystr)  //turn string to slice 
	fmt.Println("The iteration performed through each character of string:")

	for _, v := range runes { //iterate through rune
		fmt.Printf("%c ", v)  //print characters along with space character
	}
}

输出

The original string given here is: Hello, alexa!
The iteration performed through each character of string:
H e l l o ,   a l e x a ! 

示例 3

在这个例子中,我们将了解如何使用 strings.Split() 函数迭代字符串的每个字符,它将字符串分割成切片并迭代每个字符。

package main
import (
	"fmt"
	"strings"
)

func main() {
	mystr := "Hello, alexa!"   //create string
	fmt.Println("The original string given here is:", mystr)
	fmt.Println("The iteration performed through each character of string:")
	for _, slice := range strings.Split(mystr, "") {  //use built-in function to split the string
		fmt.Printf("%s ", slice)  //print the characters along with space character
	}
}

输出

The original string given here is: Hello, alexa!
The iteration performed through each character of string:
H e l l o ,   a l e x a !

结论

我们通过三个示例执行了迭代字符串中每个字符的程序。在第一个示例中,我们使用了 for 循环;在第二个示例中,我们使用了 rune() 内置函数;在第三个示例中,我们使用了 strings.Split() 函数。

更新于:2023年2月1日

浏览量:9K+

开启你的职业生涯

完成课程获得认证

开始学习
广告