首页 > 解决方案 > 什么是“|” Go 中的运算符?

问题描述

这个|运算符在 Go 中做了什么?我发现这个

import log

log.SetFlags(log.Ldate | log.Lmicroseconds | log.Llongfile)

当我检查该log.SetFlags(flag)方法时,它接受一个int. 我不明白它是如何在这个int值上运行的?

标签: go

解决方案


|运算符是一个算术运算符,称为bitwise OR用于整数运算。

例子

   var a uint = 60  /* 60 = 0011 1100 */  
   var b uint = 13  /* 13 = 0000 1101 */ 
   c := a | b       /* 61 = 0011 1101 */

这里, log.Ldate, log.Lmicroseconds,log.Llongfile都代表int值。它们的值按位或表示1|4|8 = 13,因此标志设置为13int 值。


推荐阅读