golang sting转换数组的方法是什么

寻技术 Go编程 2023年10月07日 122

本篇内容主要讲解“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 函数将这个字符串切片输出到控制台中。

关闭

用微信“扫一扫”