package main import ( "fmt") // pc[i] is the population count of i.var pc [256]byte func init() { for i := range pc { pc[i] = pc[i/2] + byte(i&1) }} func PopCount(x uint64) int { return int(pc[byte(x>>(0*8))] +
方法一 通过ASCII码表判断并统计 package main import "fmt" func charactortype() { var s2 string = "112aaaaFGG123 *&^%" var e,s,d,o int for i := o; i < len(s2); i++ { switch { case 64 < s2[i] && s2[i] < 91: e += 1 case 96 < s2
参考 package main import ( "fmt" "sync/atomic" "time" ) func main() { var count uint32 trigger := func(i uint32, fn func()) { for { if n := atomic.LoadUint32(&count); n == i { fn() atomic.AddUint32(&count, 1) break } ti
使用哈希表 package main import "fmt" func main() { a := [...]int{2,3,1,0,2,5,3} num := make(map[int]bool) for _, v := range a { if !num[v] { num[v] = true } else { fmt.Println(v) } } } 排序查找 package main import ( "fmt" "sort" ) fun