Go语言程序:将字符串转换为数组
在Go语言中,我们有多种数据类型来存储数据,其中字符串数据类型用于存储一系列字符。字符串变量的大小为1或8位。另一方面,数组是一种数据类型,用于在连续的内存位置存储数据。
语法
func fields(s string) []string
Fields() 函数位于 strings 包中,用于将字符串转换为字符串数组。此函数接收一个字符串值作为参数,并返回相应的数组作为结果。
func split(s, sep string) []string
Split() 函数接收两个字符串作为参数,一个是我们要分割的字符串,另一个是我们希望用来分割字符串的字符或字母。该函数返回最终输出,该输出是一个包含分割后获得的字符串的数组。
func typeofobject(x interface{})
TypeOf() 函数用于获取任何变量的类型。此函数位于 reflect 包中,它接收要确定其类型的变量作为参数。然后,该函数返回指定变量的类型作为结果。
方法 1:使用 Fields() 函数
在此方法中,我们将使用一个名为 Fields() 的内置函数。
算法
步骤 1 - 首先,我们需要定义 main 包。
步骤 2 - 然后导入 fmt 和 strings 包。
步骤 3 - 调用 main() 函数。
步骤 4 - 初始化并定义一个名为 s 的字符串,并为其赋值。此外,在屏幕上打印此字符串。
步骤 5 - 现在调用 strings 包中定义的 fields() 函数,并将上述初始化的字符串作为参数传递给它。该函数通过执行转换返回结果。
步骤 6 - 将函数返回的数组存储在单独的变量中,并使用 fmt.Println() 函数在屏幕上打印结果。
示例
在此示例中,我们将使用 fields() 函数将字符串转换为数组。
package main import ( "fmt" "reflect" "strings" ) func main() { // initializing the string variable and assign value to it var s string = "this is a sentence lets break it !" fmt.Println("The given data is:\n", s, "and its type is", reflect.TypeOf(s)) arrayOfString := strings.Fields(s) fmt.Println() fmt.Println("The array obtained from the string is:\n", arrayOfString) }
输出
The given data is: this is a sentence lets break it ! and its type is string The array obtained from the string is: [this is a sentence lets break it !]
方法 2:使用 Split() 函数
在此方法中,我们将使用 split() 函数将数组转换为字符串。
算法
步骤 1 - 首先,我们需要定义 main 包并导入 fmt 和 strings 包。
步骤 2 - 接下来,调用 main() 函数。
步骤 3: - 初始化并定义一个名为 s 的字符串,并为其赋值,即我们要分割的字符串。初始化一个名为 sep 的空字符串变量,并为其赋值。
步骤 4 - 现在,使用 fmt.Println() 函数在屏幕上打印字符串。
步骤 5 - 这将是 s 字符串将被分隔的值。将“ ”(空格)存储在 sep 变量中,因为我们希望获得字符串的每个单词,但以数组格式。
步骤 6 - 现在调用 strings 包中定义的 split() 函数,并将字符串以及 sep 变量作为参数传递给它。该函数将根据提供的变量分割字符串并返回相应的数组。
步骤 7 - 将函数返回的字符串数组存储在单独的变量中,并使用 fmt.Println() 函数在屏幕上打印结果。
示例
以下是使用 split() 函数将字符串转换为数组的 Go 语言程序。
package main import ( "fmt" "reflect" "strings" ) func main() { // initializing the string variable var s string = "this is a sentence lets break it !" var sep string = " " fmt.Println("The given data is:\n", s, "and its data type is:", reflect.TypeOf(s)) arrayOfString := strings.Split(s, sep) fmt.Println() fmt.Println("The array obtained after splitting the string is:\n", arrayOfString) }
输出
The given data is: this is a sentence lets break it ! and its data type is: string The array obtained after splitting the string is: [this is a sentence lets break it !]
方法 3:使用 FOR 循环
在此方法中,我们将使用 for 循环将字符串转换为数组。
算法
步骤 1 - 首先,我们需要定义 main 包。
步骤 2 - 然后导入 fmt 和 reflect 包。
步骤 3 - 调用 main() 函数。
步骤 4 - 初始化并定义一个名为 s 的字符串,并为其赋值。此外,在屏幕上打印此字符串。
步骤 5 - 现在使用 for 循环遍历数组,并将字符串的每个元素追加到新数组中。
步骤 6 - 最后,使用 fmt.Println() 函数在屏幕上打印结果。
示例
以下是使用 for 循环将字符串转换为数组的 Go 语言程序
package main import ( "fmt" "reflect" ) func main() { str := "hello world" fmt.Println("The given data is:\n", str, "and its data type is:", reflect.TypeOf(str)) arr := make([]string, len(str)) for i, r := range str { arr[i] = string(r) } fmt.Println() fmt.Println("The array obtained by the above string is:",arr) }
输出
The given data is: hello world and its data type is: string The array obtained by the above string is: [h e l l o w o r l d]
结论
我们已成功编译并执行了一个 Go 语言程序,该程序将字符串转换为数组,并附带示例。我们为此任务使用了 strings 库中定义的 fields() 和 split() 预定义函数。这些函数接收字符串作为参数,并在执行任务后返回相应的字符串数组。