本篇内容主要讲解“golang sting转换数组的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“golang sting转换数组的方法是什么”吧!
方法一:使用strings包的Split函数
golang 中的 strings 包提供了许多有用的函数来处理字符串。其中就包括 Split 函数,它可以将一个字符串按照指定的分隔符进行分割,并返回一个字符串切片。我们可以通过使用这个函数来将一个字符串转换为数组,示例代码如下:
import (
"fmt"
"strings"
)
func main() {
str := "a,b,c,d"
arr := strings.Split(str, ",")
fmt.Println(arr)
}
在上面的代码中,我们首先定义了一个包含多个用逗号隔开的字符串的变量 str。然后,我们使用 Split 函数将这个字符串按照逗号分隔,然后将分割后的字符串切片存储到了变量 arr 中。最后,我们通过 fmt 包中的 Println 函数将这个字符串切片输出到控制台中。
运行上面的程序,你会得到以下输出:
[a b c d]
可以看到,这个函数成功将一个字符串转换为了一个包含多个字符串的数组。
方法二:使用strconv包和strings包的Split函数
如果需要将一个包含数字的字符串转换为整数数组,我们可以先使用 strings 包的 Split 函数将这个字符串按照指定的分隔符分割,然后再将分割后的字符串转换为整数。这项工作可以使用 strconv 包中的 Atoi 函数来完成,它可以将一个字符串转换为整数。下面是一个示例:
import (
"fmt"
"strconv"
"strings"
)
func main() {
str := "1,2,3,4"
arrStr := strings.Split(str, ",")
arr := make([]int, len(arrStr))
for i, s := range arrStr {
n, _ := strconv.Atoi(s)
arr[i] = n
}
fmt.Println(arr)
}
在上面的代码中,我们先将包含数字的字符串按逗号分隔,并将分割后的每个字符串转换为整数,并存储在一个 int 类型的数组中。最后,我们通过 fmt.Printf 函数将这个数组输出到控制台上。
方法三:使用for循环和strings包的index函数
另一种方法是使用 for 循环和 strings 包的 index 函数来实现字符串和数组之间的转换。示例代码如下:
import (
"fmt"
"strings"
)
func main() {
str := "a,b,c,d"
arr := make([]string, len(str))
for i, r := range str {
if r == ',' {
continue
}
arr[i] = string(r)
}
fmt.Println(arr)
}
在上面的代码中,我们再次定义了一个包含多个用逗号隔开的字符串的变量 str。然后,我们使用 for 循环和 strings 包的 index 函数遍历字符串,将每个字符存储到字符串数组中。由于 index 函数返回字符在字符串中的位置(而不是字符本身),我们必须使用 string 函数将其转换为字符串,然后才能将其存储到数组中。如果当前字符是逗号,则我们跳过它,因为我们不需要在数组中存储分隔符。最后,我们通过 fmt 包中的 Println 函数将这个字符串切片输出到控制台中。