【发布时间】:2019-09-09 22:42:53
【问题描述】:
我开始学习GO语言,有些东西不太明白,可能只是迷茫和疲倦。 这是我的代码,有一个结果数组(来自编码字符串,大小为 2139614 个元素)。我需要对它们进行解码并进一步使用它们。但是当我运行一个迭代时,resultrips 是两倍大,前半部分完全是空的。因此,我制作了一个切片并添加了所需的范围。
为什么会这样?
直接解码结果重新录制可能会更容易,但我不知道怎么做,好吧)))
也许有完全不同的方法,作为初学者我还不知道
result := []string{}
for i, _ := range input {
result = append(result, i)
}
sort.Strings(result)
rips := make([][]byte, 2139614)
for _, i := range result {
c := Decode(i)
c = c[1:37]
rips = append(rips, c)
}
//len(result) == 2139614
for i := 2139610; i < 2139700; i++ {
fmt.Println(i, rips[i])
}
resultrips := rips[2139614:]
for _,i := range resultrips {
fmt.Println(i)
}
fmt.Println("All write: ", len(resultrips))
还有这个问题:如果我需要一个字节数组数组,我就做对了(我这样做是为了不做太多工作,并且会检查字节中的值,因为没有任何编码)???
rips := make([][]byte, 2139614) //数组[]字节
最后,我需要一个 C++ 中集合类型的数组来检查我的集合中是否有元素
在 C++ 中它是代码:
if (resultrips.count > 0) { ... }
【问题讨论】: