arrays - 在 Go 中将字符串转换为单位数整数数组

标签 arrays string int digits

花了几个小时试图找到解决方案,以解决在 Go 中将数字字符串转换为单个数字整数数组的“简单”问题。尝试了很多不同的方法,但总是遇到问题。这是最后一次尝试。它会构建,但在运行时给出的索引超出范围,在指示的行上。可能会有一些 AH 会让我因提出愚蠢的问题而受到批评,但我在多次 Google 搜索的前 50 个结果中找不到解决方案。所以来吧伙计,标记我,你就是那个人。对另外 99% 的人:感谢您的耐心和帮助。

package main
import (
    "fmt"
    "strconv"
    "strings"
    )
func main() {
    s := "876567747896354336739443262"
    var dstr []string = strings.SplitAfterN(s,"",len(s))
    var dint []int
    for i := 0; i < len(s); i++ {
        dint[i], _ = strconv.Atoi(dstr[i]) //index out of range at runtime
        fmt.Printf("dstr[%v] is: %s\n", i, dstr[i])
        fmt.Printf("dint[%v] is: %v\n", i, dint[i])
    }
}

最佳答案

这就是答案。莫菲艾克斯向我展示了我的做法中的错误。谢谢大佬,感激不尽。事实证明这是错误的: var dint []int 。我应该在创建数组时而不是初始化它时给出大小: var dint [27]int 。这是完整的代码:

package main
import (
    "fmt"
    "strconv"
    "strings"
    )
func main() {
    s := "876567747896354336739443262"
    var dstr []string = strings.SplitAfterN(s,"",len(s))
    var dint [27]int
    for i := 0; i < len(s); i++ {
        dint[i], _ = strconv.Atoi(dstr[i]) 
        fmt.Printf("dstr[%v] is: %s\n", i, dstr[i])
        fmt.Printf("dint[%v] is: %v\n", i, dint[i])
    }
}

关于arrays - 在 Go 中将字符串转换为单位数整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702687/

相关文章:

C++ 'int' 和 'INT' 之间的区别

javascript - JQuery 从数组数组中删除数组

javascript - 过滤 Javascript 数组并仅返回具有填充键的对象

r - 在 R 字符串中的第 n 个大写字母之前插入分隔符

联合两个字符串的 Java String 实用程序/方法

c - 为什么int的范围有负1?

javascript - 如何使用 Javascript 获取元素为对象的唯一数组

javascript - 我可以将字符串中的数组转换为数组吗? Javascript

c++ - 制作 C++ 控制台应用测验。控制台不会接受包含引号的输入

int - int++ 和++int 有什么区别?