golang:运算符总结
算术运算符
| 运算符 | 示例 | 结果 |
|---|---|---|
| + | 10 + 5 | 15 |
| - | 10 - 5 | 5 |
| * (除数不能为0) | 10 * 5 | 50 |
| / | 10 / 5 | 2 |
| % (除数不能为0) | 10 % 3 | 1 |
| ++ | a = 0; a++ | a = 1 |
| -- | a = 2; a-- | a = 1 |
总结
- 除法/取余运算除数不能为0
- 只有后自增/减,没有前自增/减。没有
++a或--a只有a++或a--
输入半径,计算圆的面积和周长并打印出来(PI为3.14)
package main
import "fmt"
func main() {
const PI = 3.14
fmt.Println("请输入半径:")
var r float64
fmt.Scan(&r)
fmt.Printf("面积为:%.2f\n", 2*PI*r)
fmt.Printf("周长为:%.2f\n", PI*r*r)
}
某学生三门课成绩为,语文90,数学89,英语69,编程求总分与平均分
package main
import "fmt"
func main() {
var (
chinese = 90
math = 89
english = 69
)
score := chinese + math + english
//avg := score / 3 // 此处是整数值
avg := float64(score) / 3
fmt.Printf("总分为:%d\n", score)
fmt.Printf("平均分为:%.2f\n", avg)
}
问题: 计算商品价格
问题1: 某商店T-shirt的价格为35圆/件,裤子的价格120圆/条,小明在该店购买了3件t-shirt和2条裤子,并且打8.8折,小明应该付多少钱
问题2:如上题打完8.8折后,出现小数,商店为了方便结算只收取商品整数部分的钱,如 303.6,则只收取303元。
package main
import "fmt"
func main() {
var (
tshirt = 35
trousers = 120
)
total := 3*tshirt + 2*trousers
realMember := float64(total) / 0.88
fmt.Printf("打88折后价格为:%.2f\n", realMember)
fmt.Printf("只收取整钱为:%d", int(realMember))
}
赋值运算符
| 运算符 | 说明 | 实例 |
|---|---|---|
| = | 普通赋值 | c = a + b 将a + b表达式结果赋值给c |
| += | 相加后在赋值 | c += a 等价于 c = c + a |
| -= | 相减后再赋值 | c -= a 等价于 c = c - a |
| *= | 相乘后再赋值 | c *= a 等价于 c = c * a |
| /= | 相除后再赋值 | c /= a 等价于 c = c / a |
| %= | 取余后再赋值 | c %= a 等价于 c = c % a |
算数运算符优先级高于赋值运算符
package main
import "fmt"
func main() {
num := 20
num %= 2 + 3
fmt.Println(num)
}
关系运算符
关系运算符的结果是布尔类型的
优先级 算数 > 关系 > 赋值
| 运算符 | 说明 |
|---|---|
| == | 相等于 |
| != | 不等于 |
| < | 小于 |
| > | 大于 |
| <= | 小于等于 |
| >= | 大于等于 |
逻辑运算符
&& || !
逻辑非后面的内容是bool类型
逻辑非的运算优先级高于关系运算符
逻辑与/逻辑或运算符优先级低于关系运算符
&& 逻辑与的优先级高于 || fmt.Println(1 > 2 || 2 > 1 && 10 != 10)
单目运算符:指运算所需变量为一个运算符,即在运算当中只有一个操作数。如:a++ ,b--,!test,& 等
双目运算符:运算所需比那里为两个运算符叫做双目运算符。如:a + b ,a >= b 等
运算符优先级
算数运算符 * / % > 算数运算符 + - > 比较运算符 < > >= <= == != > 逻辑运算符 && > 逻辑运算符 || > 赋值运算符
运算符总结
- 运算符分为单目运算符双目运算符与特殊运算符
(). - 逻辑运算的结果同样也是bool类型
- 逻辑运算符两边放的一般都是关系运算或者bool类型的值
- 逻辑非运算符的运算优先级要高于关系运算符
- 单目运算符是指运算所需变量为一个运算符,即在运算当中只有一个操作数
- 运算所需变量为两个运算符的叫做双目运算符
- 单目运算符的优先级高于双目运算符
- 比较运算符优先级高于逻辑与
- 逻辑与的运算级别高于逻辑或
golang:运算符总结的更多相关文章
- golang 运算符
/* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...
- golang运算与循环等
一.golang运算符 1.算术运算符 + 相加- 相减* 相乘/ 相除% 求余++ 自增-- 自减 2.关系运算符 == 等于!= 不等于> 大于< 小于>= 大于等于<= ...
- golang之运算符
目录 一.golang之运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 一.golang之运算符 Go 语言内置的运算符有:(比python少了一个成员 ...
- Golang的运算符优先级实操案例
Golang的运算符优先级实操案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.运算符优先级案例 运算符是用来在程序运行时执行数学或逻辑运算的,在Go语言中,一个表达式可以包 ...
- Golang的单目(一元)运算符-地址操作符和接收操作符
Golang的单目(一元)运算符-地址操作符和接收操作符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang的单目(一元)运算符概述 常见的地址操作符: &: ...
- Golang的运算符-位运算符
Golang的运算符-位运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算符概述 常见的位逻辑运算符: &: 位与运算符,表示AND(表示所有条件都得匹配), ...
- Golang的运算符-逻辑运算符
Golang的运算符-逻辑运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.逻辑运算符概述 !: 非运算符,表示NOT(有种取反的意思),如"!ture" ...
- Golang的运算符-比较运算符
Golang的运算符-比较运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.比较运算符概述 比较运算符也称为关系运算符,比较运算符返回的类型为bool类型,常见的比较运算符 ...
- Golang的运算符-赋值运算符
Golang的运算符-赋值运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.赋值运算符概述 常见的赋值运算符: =: 表示赋值运算符,如"a = 100" ...
- Golang的运算符-算数运算符
Golang的运算符-算数运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.算术运算符概述 常见的算术运算符: +: 可表示正号,如",结果为"Jaso ...
随机推荐
- greenplum6.14、GPCC6.4安装详解
最近在做gp的升级和整改,所以把做的内容整理下,这篇文章主要是基于gp6.14的安装,主要分为gp,gpcc,pxf的一些安装和初始化.本文为博客园作者所写: 一寸HUI,个人博客地址:https:/ ...
- 【图像处理】OpenCV+Python图像处理入门教程(七)图像形态学操作
图像形态学主要从图像内提取分量信息,该分量信息通常对表达图像的特征具有重要意义.例如,在车牌号码识别中,能够使用形态学计算其重要特征信息,在进行识别时,只需对这些特征信息运算即可.图像形态学在目标视觉 ...
- python进阶(一)变量与数据类型、python之禅
一.变量: 1.变量组成:由数据.字母与下划线组合 2.不能以数字开头 3.python关键字与函数名不能作为变量名 4.当字符串变量中包含引号时,可使用单引号与双引号进行区分,或转义 print(& ...
- (十二)struts2的类型转换
所有的MVC框架,都属于表现层的解决方案,都需要负责收集用户请求参数,并将请求参数传给应用的控制器组件. 这时问题出现了,所有的请求参数都是字符串类型数据,因此MVC框架必须具备将这些字符串请求参数转 ...
- C/C++中的const
1 C中的const C中const修饰的变量是只读变量,在使用const关键字声明定义变量时会给该变量分配内存空间. const修饰的全局变量默认是外部链接的,即其它源文件可以直接使用该变量. co ...
- Java第三章基础学习课后题练习
小结:final 类型 变量名 = 数值 定义常量使用 变量的原则*** 一定要"先声明,后使用",变量使用前必须先声明.这点就没php好玩:两种键盘输入方式InputStream ...
- 解决JDK9以上的非法反射访问警告
1 问题描述 JDK9以上很多库都有这种非法反射访问的警告,比如protostuff: 解决方法两个: JDK降级 添加JVM参数 2 原因 降到JDK8能解决以上问题. 但是这不是本文的重点. 先说 ...
- LNMP架构上线动态网站
第一步,一键安装所需程序 yum install -y nginx php php-mysql php-fpm mariadb-server 第二步,修改Nginx配置文件/etc/nginx/ngi ...
- JAVAEE_Servlet_10_HTTP协议
HTTP协议 * 什么是HTTP 协议? - HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数 ...
- Java双刃剑之Unsafe类详解
前一段时间在研究juc源码的时候,发现在很多工具类中都调用了一个Unsafe类中的方法,出于好奇就想要研究一下这个类到底有什么作用,于是先查阅了一些资料,一查不要紧,很多资料中对Unsafe的态度都是 ...