为什么用 | 传递多个值 作为 Golang 上的函数的参数?

我正在查看 os 包文档并看到了这个:

f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)

根据文档,其OpenFile签名

func OpenFile(name string, flag int, perm FileMode) (*File, error)

为什么这会os.O_APPEND|os.O_CREATE|os.O_WRONLY作为第二个参数传递?


肥皂起泡泡
浏览 58回答 1
1回答

HUH函数

常量os.O_APPEND,os.O_CREATE和os.O_WRONLY是ints,所以这是对它们进行按位或运算并将它们组合成一个int.
打开App,查看更多内容
随时随地看视频慕课网APP