算术运算符

运算符 示例 结果
+ 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 + ba >= b

运算符优先级

算数运算符 * / % > 算数运算符 + - > 比较运算符 < > >= <= == != > 逻辑运算符 && > 逻辑运算符 || > 赋值运算符

运算符总结

  • 运算符分为单目运算符双目运算符与特殊运算符 () .
  • 逻辑运算的结果同样也是bool类型
  • 逻辑运算符两边放的一般都是关系运算或者bool类型的值
  • 逻辑非运算符的运算优先级要高于关系运算符
  • 单目运算符是指运算所需变量为一个运算符,即在运算当中只有一个操作数
  • 运算所需变量为两个运算符的叫做双目运算符
  • 单目运算符的优先级高于双目运算符
  • 比较运算符优先级高于逻辑与
  • 逻辑与的运算级别高于逻辑或

golang:运算符总结的更多相关文章

  1. golang 运算符

    /* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...

  2. golang运算与循环等

    一.golang运算符 1.算术运算符 + 相加- 相减* 相乘/ 相除% 求余++ 自增-- 自减 2.关系运算符 == 等于!= 不等于> 大于< 小于>= 大于等于<= ...

  3. golang之运算符

    目录 一.golang之运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 一.golang之运算符 Go 语言内置的运算符有:(比python少了一个成员 ...

  4. Golang的运算符优先级实操案例

    Golang的运算符优先级实操案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.运算符优先级案例 运算符是用来在程序运行时执行数学或逻辑运算的,在Go语言中,一个表达式可以包 ...

  5. Golang的单目(一元)运算符-地址操作符和接收操作符

    Golang的单目(一元)运算符-地址操作符和接收操作符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang的单目(一元)运算符概述 常见的地址操作符: &: ...

  6. Golang的运算符-位运算符

    Golang的运算符-位运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算符概述 常见的位逻辑运算符: &: 位与运算符,表示AND(表示所有条件都得匹配), ...

  7. Golang的运算符-逻辑运算符

    Golang的运算符-逻辑运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.逻辑运算符概述 !: 非运算符,表示NOT(有种取反的意思),如"!ture" ...

  8. Golang的运算符-比较运算符

    Golang的运算符-比较运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.比较运算符概述 比较运算符也称为关系运算符,比较运算符返回的类型为bool类型,常见的比较运算符 ...

  9. Golang的运算符-赋值运算符

    Golang的运算符-赋值运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.赋值运算符概述 常见的赋值运算符: =: 表示赋值运算符,如"a = 100" ...

  10. Golang的运算符-算数运算符

    Golang的运算符-算数运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.算术运算符概述 常见的算术运算符: +: 可表示正号,如",结果为"Jaso ...

随机推荐

  1. IT培训有哪些坑(二)?

    今天继续给大家分享一下IT培训都有哪些坑?有哪些不靠谱? 做招转的不靠谱.什么是招转?就是招聘转招生,名义上说的是招聘,但实际上做的就是招生.有很多大学刚毕业的计算机相关专业的同学,他们大学毕业之后, ...

  2. windows平台rust安装

    1.安装目录环境变量 RUSTUP_HOME D:\WorkSoftware\Rust\cargo CARGO_HOME D:\WorkSoftware\Rust\rustup 2.安装下载加速环境变 ...

  3. 【死磕JVM】给同事讲了一遍GC后,他要去面试,年轻人,就是容易冲动!

    前言 在一个风和日丽的中午,和同事小勇一起走在公司楼下的小公园里面,看到很多的小姐姐,心想什么时候能够和这些小姐姐一起讨论人生呀,美滋滋,嘿嘿嘿. 收起你的哈喇子好不好,小勇总是在这个时候发出声音,挺 ...

  4. 3w 字长文爆肝 Java 基础面试题!太顶了!!!

    hey guys ,这不是也到了面试季了么,cxuan 又打算重新写一下 Java 相关的面试题,先从基础的开始吧,这些面试题属于基础系列,不包含多线程相关面试题和 JVM 相关面试题,多线程和 JV ...

  5. 201871030102_崔红梅 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程2. 掌握Github协作开发程序的操作方法.3.阅读<现代软 ...

  6. JDK8中新日期时间API

    它们面临的问题是:可变性:像日期和时间这样的类应该是不可变的.偏移性:Date中的年份是从1900开始的,而月份都从0开始.格式化:格式化只对Date有用,Calendar则不行.此外,它们也不是线程 ...

  7. Fastbin attack 总结

    Fastbin attack 本文参考了ctf-wiki 和glibc 要了解fastbin attack,我们先要了解fastbin的机制.由于libc2.26后加入了tcache机制,我们这里就只 ...

  8. 基于DRV8701的电机驱动设计

    栅极驱动芯片DRV8701使用的一些注意事项

  9. 元素居中的两种方法,transform和margin

    1.transform :translate(-50%,-50%) <!DOCTYPE html> <html lang="en"> <head> ...

  10. IDAPython类库---idautils.py的源码

    #--------------------------------------------------------------------- # IDAPython - Python plugin f ...