我打算用slice by 8算法来实现CRC24C计算。我已经成功地实现了当数据位数是8的倍数时的情况。但是,当输入位数不是8的倍数时,slice by 8算法失败。我计划将数据比特分成两部分,一部分包含8的倍数的数据比特,另一部分包含剩余比特。单独计算CRC24C并将其合并。然而,我不能想出一个方法来结合两个单独计算的CRC,任何建议或想法都会非常有帮助。
我希望这样做是可行的:var x uint8但我知道错误是:也就是说(据我所知) range,即使它是在uint8的一个片段上操作,也试图使用int作为迭代值。array or slice a [n]E, *[n]E, or []E index i int a[i] E
因此,我希望它是E‘参数化类型’*,在本例
除了当前元素之外,我如何遍历该切片并将其传递到某个位置?似乎正如我们在文档中看到的那样,追加()函数修改了底层的切片。但不管怎样,我还是不知道怎么达到这个目标。func main() { fmt.Println(append(args[:i], args[i+1:]...)) // or pass to func