golang 位运算实际用途

2023-04-28  本文已影响0人  彩色代码
image.png

使用位运算中的 与运算符,来判断显示不同的字段

package main

import "fmt"

const (
    title = 1      // 标题
    desc  = 1 << 1 // 描述
    image = 1 << 2 // 图片
    tag   = 1 << 3 // tag
)

func main() {
    // 定义显示的字段标识
    showFlag := 0

    // 需要显示 title
    showFlag = showFlag | title
    fmt.Println(showFlag) // 1

    // 需要显示 desc
    showFlag = showFlag | desc
    fmt.Println(showFlag) // 3

    // 需要显示 desc
    // showFlag = showFlag | image
    // fmt.Println(showFlag) // 7

    // 需要显示 tag
    showFlag = showFlag | tag
    fmt.Println(showFlag) // 11

    // 判断哪个需要显示:

    if showFlag|title == showFlag {
        fmt.Println("需要显示 title")
    }
    if showFlag|desc == showFlag {
        fmt.Println("需要显示 desc")
    }
    if showFlag|image == showFlag {
        fmt.Println("需要显示 image")
    }
    if showFlag|tag == showFlag {
        fmt.Println("需要显示 tag")
    }

}
上一篇 下一篇

猜你喜欢

热点阅读