运行
格式化
停止
分享
赞助
package main import ( "fmt" ) func main() { base() umask() } func base() { a := 6 // 0110 b := 11 // 1011 // ---- // & 0010 => 2 // | 1111 => 15 // ^ 1101 => 13 // &^ 0100 => 4 fmt.Println(a & b) fmt.Println(a | b) fmt.Println(a ^ b) fmt.Println(a &^ b) } const ( S_IRUSR = 0x100 S_IWUSR = 0x80 S_IXUSR = 0x40 S_IRGRP = 0x20 S_IWGRP = 0x10 S_IXGRP = 0x8 S_IROTH = 0x4 S_IWOTH = 0x2 S_IXOTH = 0x1 ) func umask() { fmt.Printf("%9b %3d %s\n", S_IRUSR, S_IRUSR, "用户读") fmt.Printf("%9b %3d %s\n", S_IWUSR, S_IWUSR, "用户写") fmt.Printf("%9b %3d %s\n", S_IXUSR, S_IXUSR, "用户执行") fmt.Printf("%9b %3d %s\n", S_IRGRP, S_IRGRP, "组读 *") fmt.Printf("%9b %3d %s\n", S_IWGRP, S_IWGRP, "组写 *") fmt.Printf("%9b %3d %s\n", S_IXGRP, S_IXGRP, "组执行") fmt.Printf("%9b %3d %s\n", S_IROTH, S_IROTH, "其它读 *") fmt.Printf("%9b %3d %s\n", S_IWOTH, S_IWOTH, "其它写 *") fmt.Printf("%9b %3d %s\n", S_IXOTH, S_IXOTH, "其它执行") fmt.Printf("%9b\n", S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) }