Files
bl/common/utils/bitset
昔念 937f97fe83 ```
feat(go): 升级 Go 版本至 1.20

统一将所有模块的 Go 版本从 1.18 或 1.19 升级到 1.20,以使用最新的语言特性和性能改进。

feat(service): 新增乱斗服务默认宠物生成逻辑

在 fight 模块中调用新的 MELEEService.Def() 方法来生成初始对战宠物,
并根据配置
2025-12-15 14:26:24 +08:00
..
```
2025-12-15 14:26:24 +08:00

bitset32

Test

zh_CN 简体中文

Description

Package bitset32 modified from "github.com/bits-and-blooms/bitset" implements bitset with uint32. Both packages are used in the same way.

If not necessary, it is highly recommended to use "github.com/bits-and-blooms/bitset".

Go version

go version go1.19.4 windows/amd64

Install

go get github.com/pointernil/bitset32

Testing

go test
go test -cover

Usage

package main

import (
	"fmt"
	"math/rand"

	"github.com/pointernil/bitset32"
)

func main() {
	fmt.Printf("Hello from BitSet!\n")
	var b bitset32.BitSet32
	// play some Go Fish
	for i := 0; i < 100; i++ {
		card1 := uint(rand.Intn(52))
		card2 := uint(rand.Intn(52))
		b.Set(card1)
		if b.Test(card2) {
			fmt.Println("Go Fish!")
		}
		b.Clear(card1)
	}

	// Chaining
	b.Set(10).Set(11)

	for i, e := b.NextSet(0); e; i, e = b.NextSet(i + 1) {
		fmt.Println("The following bit is set:", i)
	}
	if b.Intersection(bitset32.New(100).Set(10)).Count() == 1 {
		fmt.Println("Intersection works.")
	} else {
		fmt.Println("Intersection doesn't work???")
	}
}