📌  相关文章
📜  go string to int array with space separator - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:30:59.791000             🧑  作者: Mango

将字符串转换为以空格分隔的整数数组

在Go中,将一个以空格分隔的字符串转换为整数数组是一项常见的操作。这个过程通常涉及到以下几个步骤:

  1. 将字符串拆分为单独的字符串元素
  2. 将每个字符串元素转换为整数类型
  3. 将这些整数类型的元素组合成一个整数数组

下面我们将分别介绍这几个步骤并提供相应的Go代码示例。

步骤一:将字符串拆分为单独的字符串元素

在Go中,可以使用strings包中的Split函数来将字符串分隔为单独的字符串元素。下面是一个示例代码片段:

import (
    "fmt"
    "strings"
)

func main() {
    str := "1 2 3 4 5"
    strArr := strings.Split(str, " ")
    fmt.Println(strArr)
}

在这个示例中,我们将字符串str按照空格分隔成一个字符串数组strArr。输出结果将是一个包含5个字符串元素的数组:

[1 2 3 4 5]
步骤二:将每个字符串元素转换为整数类型

在Go中,可以使用strconv包中的Atoi函数来将一个字符串转换为整数类型。下面是一个示例代码片段:

import (
    "fmt"
    "strconv"
    "strings"
)

func main() {
    str := "1 2 3 4 5"
    strArr := strings.Split(str, " ")
    intArr := make([]int, len(strArr))
    for i, str := range strArr {
        num, err := strconv.Atoi(str)
        if err != nil {
            panic(err)
        }
        intArr[i] = num
    }
    fmt.Println(intArr)
}

在这个示例中,我们对字符串数组进行了遍历,并使用Atoi函数将每个字符串元素转换为整数类型。我们还使用了make函数创建了一个与字符串数组长度相等的整数数组,以便存储转换后的整数值。输出结果将是一个包含5个整数元素的数组:

[1 2 3 4 5]
步骤三:将这些整数类型的元素组合成一个整数数组

最后,我们将使用步骤一和步骤二的代码片段来组合成一个完整的程序来将字符串转换为以空格分隔的整数数组。以下是示例代码片段:

import (
    "fmt"
    "strconv"
    "strings"
)

func strToIntArr(str string) []int {
    strArr := strings.Split(str, " ")
    intArr := make([]int, len(strArr))
    for i, str := range strArr {
        num, err := strconv.Atoi(str)
        if err != nil {
            panic(err)
        }
        intArr[i] = num
    }
    return intArr
}

func main() {
    str := "1 2 3 4 5"
    intArr := strToIntArr(str)
    fmt.Println(intArr)
}

在这个示例中,我们将字符串转换为整数数组的代码片段封装到了一个函数strToIntArr中。我们可以通过调用这个函数来将任意的以空格分隔的字符串转换为整数数组。输出结果将是一个包含5个整数元素的数组:

[1 2 3 4 5]

如此,我们就成功地将一个以空格分隔的字符串转换为了一个整数数组。