代码拉取完成,页面将自动刷新
Go 语言内置的运算符有:
由于Go是强类型语言, 因此要求参与运算的对象类型必须相同,比如下面就是不可以的
a := 10
b := 10.0
a + b
同理, 计算出来的结果的类型 也是参与运算的对象的类型
无符号整形的运算
var a, b uint = 10, 20
a + b // 30
a - b // 18446744073709551606
a * b // 200
a / b // 0
a % b // 10
浮点型的运算
var a, b float64 = 10, 20
a + b // 30
a - b // -10
a * b // 200
a / b // 0.5
比较特殊的运算符:
a := 10
a++
a++
a++
a--
a--
a--
用于对2个值进行比较的运算符, 比较结果为真(True) 或者 假(False)
a, b := 10, 20
a > b
a >= b
a < b
常见的用法是用于条件语句: 我们进行一个a b 的简单排序
a, b := 20, 10
if a > b {
a, b = b, a
}
用于对布尔表达式进行逻辑计算, 有如下3种:
age := 90
gender := "male"
if age > 80 && gender == "male" {
fmt.Println("old boy")
} else {
fmt.Println("too young,too simple")
}
位运算符对整数在内存中的二进制位进行操作, 运算符有:
var (
a uint = 60 // 0011 1100 2^5 + 2^4 + 2^3 + 2^2
b uint = 85 // 0101 0101 2^6 + 2^4 + 2^2 + 2^0
)
fmt.Println("a & b = %d", a&b) // 0001 0100 2^4 + 2^2
fmt.Println("a | b = %d", a|b) // 0111 1101 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^0
fmt.Println("a ^ b = %d", a^b) // 0110 1001 2^6 + 2^5 + 2^3 + 2^0
fmt.Println("a >> 2 = %d", a>>2) // 0000 1111 15
fmt.Println("a << 2 = %d", a<<2) // 1111 0000 240
常用与协议定义, 比如一个byte 8位
0000 0000
--
标识性别: 00: 未知, 01: 男 10: 女 11: 保留
--
保留
----
标识城市: 0000: 未知, 0001: A, 0010: B
byte 0x17 表示什么? (十进制: 23, 二进制: 0001 0111)
最基本用法:
a := 10 // 把10赋值给变量a
a := 10
a += 5 // a = a + 5
a := 10
b := &a
*b += 5
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。