位运算,对于计算机科班出来的或者学习过编程的都应该不陌生吧? ( | & ^ 等 )
这些位运算的特性, 可以用来做一些比如设置一个商品状态的工作, 这样,节省了DB的存储空间, 也可以让一个字段表示多个状态.
简单来说:
& 可以用来判断商品是否存在某一个状态
|= 可以用来为一个商品添加一个状态
^= 则可以用来删除一个商品的状态.
这样. 就是简单的用这3个运算符就可以实现商品的多状态了.
eg:
status 商品当前状态,
good 优秀商品的一个状态.
当我们要判断数据表中的一个商品是不是被标记为优秀商品的时候, 就可以这样使用 status & good == good .要把商品设置为优秀商品: status |= good. 取消一个商品的优秀标签 : status ^= good