Go - 15 Go 运算符基本使用
运算符是一种特殊的符号,用以表示数据的运算,赋值和比较等;
算术运算符
主要对数值类型的变量进行运算;
+ - (正号/负号)+ - * / (加减乘除)%(取模/取余)++ (自增) -- (自减)
/ (除法): fmt.Println(10/4) ---> 结果 2 --->解释 都是整数,那么除后,去掉小数部分,保留整数部分;如果希望保留小数部分,则需要又浮点数参与运算 (var n2 float32 = 10.0 / 4)
% (取模):公式:a % b = a - a / b * b
++ / -- : var i int = 10 i ++ i --
注意细节:
对于除号 小数部分
对于 ++ / -- 不能这么使用:b := i ++ 或者 b := i -- ; 只能独立使用:var i int = 8 var a int i++ a = i
赋值运算符
就是将某个运算后的值,赋值给指定的变量;
赋值运算的顺序是从右向左
表达式:任何有值都可以看作表达式
比较运算符/关系运算符
关系运算符的结果都是bool型,要么true,要么false;经常用在if结构的条件中或者循环结构的条件中
== !=
逻辑运算符
假定 A 值为 ture , B 值 为 False
逻辑与 : && (两边都为ture,则为true) A && B ---> false
逻辑或: || (一边为true,则为true) A || B ------> ture
逻辑非: | (取反) | (A && B) -----> ture
注意事项和细节说明
&& 也叫短路与; 一个条件为false,第二个条件就不会判断了;
|| 也叫短路或;如果第一个条件为true,第二个条件会放弃判断;
位运算符
进制:
对于整数,有四种表示方式
1)二进制,0,1 满2进1;
在golang中,不能直接使用二进制来表示一个整数,它沿用了c的特点;
但是可以按二进制输出 %b;
2)十进制,0-9,满10进1;
3)八进制,0-7,满8进1,以数字0开头表示;
在golang中可以 表示: var i int = 011 ----> 输出值为:9
4)十六进制,0-9及A-F,满16进1,以0x或者0X 开头表示。此处的A-F不区分大小写;
在golang中可以表示: var j int = 0x11 -----> 输出值为:17
二进制转十进制
从低位开始(右边的),将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和;
十进制转换二进制
将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制;
其他运算符
& 查看地址
* 指针,查看指向的变量