我在 Go 中没有找到 BitSet 包,所以我尝试实现它。 我想使用一个 uint64 数组来存储位。
我需要分配 uint64 数组的位数。 使用 Java,我可以定义一个接受整数的构造函数。 虽然 Go 不提供构造函数,但如何正确初始化 用户调用 new() 时的 BitSet 'object'?
最佳答案
Go 的标准 big.Int
可以作为位集使用:
package main
import (
"fmt"
"math/big"
)
func main() {
var bits big.Int
for i := 1000; i < 2000; i++ {
bits.SetBit(&bits, i, 1)
}
for i := 0; i < 10000; i++ {
if bits.Bit(i) != 0 {
fmt.Println(i)
}
}
}
关于go - 如何用 Go 实现 BitSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2311373/