golang 运算符
1 /* 2 算术运算符 : + - * / % ++ -- 3 4 关系运算符 : == != > < >= <= 5 6 逻辑运算符 : && || ! 7 8 赋值运算符 : = += -= *= /= %= <<= >>= &= ^= |= 9 10 其他运算符 : & * 11 & : 获取变量的实际地址 12 var a int = 10; fmt.Println(&a)//20818a220 13 * : 是一个指针变量 (声明指针(引用)变量) 14 var ip *int = &a; // fmt.Println(*ip)//10 15 var val string = "sb" fmt.Println(*&val)//sb 16 17 18 19 位运算符 : & | ^ << >> 20 21 假定 A = 60; B = 13; 22 其二进制数转换为 23 A = 0011 1100 24 B = 0000 1101 25 26 A&B = 0000 1100 27 A|B = 0011 1101 28 A^B = 0011 0001 29 30 假定 A = 60; B = 13; 31 & : 按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与 32 (A & B) 结果为 12, 二进制为 0000 1100 33 34 | : 按位或运算符"|"是双目运算符。 其功能是参与运算的两数各对应的二进位相或 35 (A | B) 结果为 61, 二进制为 0011 1101 36 37 ^ : 按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1 38 (A ^ B) 结果为 49, 二进制为 0011 0001 39 40 << : 左移运算符"<<"是双目运算符。左移n位就是乘以2的n次方。 其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0 41 A << 2 结果为 240 ,二进制为 1111 0000 42 43 >> : 右移运算符">>"是双目运算符。右移n位就是除以2的n次方。 其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 44 A >> 2 结果为 15 ,二进制为 0000 1111 45 */