06【保姆级】-GO语言的运算符

之前我学过C、Java、Python语言时总结的经验:

  1. 先建立整体框架,然后再去抠细节。
  2. 先Know how,然后know why。
  3. 先做出来,然后再去一点点研究,才会事半功倍。
  4. 适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。
  5. 对于GO语言,切记遵守语法格式规则。(例如python语言、例如SpringBoot框架等)
    解释:某些知识点,就是很难了解,那么先做出来,然后继续向前学习,可能在某个时间点我们就会恍然大悟。

05【保姆级】-GO语言的运算符

一、 运算符的基本分类

运算符是一种特殊的符号,用于运算、比较和赋值等。

  • 算术运算符
  • 比价运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 其他运算符
    (ps:Go语言中没有三元运算符的)

二、算数运算符

1. 介绍

算数运算符是对 数值类型的变量 进行运算的,比如加减乘除。在Go程序中实用的非常多。

2. 取余和取模

  1. 对于除号"",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如: x:= 19/5,结果是 3
  2. 当对一个数取模时,可以等价 a%b=a-a/b*b ,这样我们可以看到 取模的一个本质运算。
go 复制代码
	//  关于 运算符:  【/】 取模。
	fmt.Println(10 / 3)   // 3
	fmt.Println(10.0 / 4) // 2.5
	fmt.Println(10.0 / 5) // 2

	//  关于 运算符:  【%】 取余。 就是余数
	fmt.Println(10 % 3) // 1
	fmt.Println(10 % 4) // 2
	fmt.Println(10 % 5) // 0

练习题:假期还有97天,那么还剩下几个星期,零几天?

go 复制代码
var day int = 97
fmt.Println("还有", day/7, "个星期", "  零", day%7, "天")  
// 还有 13 个星期   零 6 天

3. ++ 和--

  1. Golang的自增自诚只能当做一个独立语言使用时,不能这样使用 【b=a++ 或者b=a--】

  2. Golang的++ 和-- 只能写在变量的后面,不能写在变量的前面,即:只有 a++/ a-- 没有 ++a、--a

  3. Golang的设计者去掉c/iava 中的 自增自诚的容易混淆的写法,让Golang更加简洁.

go 复制代码
	var a int = 10
	a++
	fmt.Println(a)  // 11
	a--
	fmt.Println(a)  // 10

三、关系运算符

  1. 关系运算符的结果都是bool类型,也就是要么就是true,要么就是false
  2. 关系表达式,经常用在if结构 的条件中,或者循环的条件中。
  3. 比较运算符是:"==",不能写成"="

四、逻辑运算符

用于连接多个条件(一般就是关系运算符) ,最终结果也是一个Bool值

  1. 【&&】也叫短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false
  2. 【||】他叫短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true

五、赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量。

面试题: 如何将两个数进行互换,其中不能使用第三个变量。

go 复制代码
	a := 12
	b := 5

	fmt.Println("更改前:", "a=", a, " b=", b)
	a = a + b // a= 17
	b = a - b // b = 12
	a = a - b // 5
	fmt.Println("更改后:", "a=", a, " b=", b)
	
	//更改前: a= 12  b= 5
	//更改后: a= 5  b= 12 

六、位运算符

七、其他运算符

八、终端输入

fmt.Scanln

当程序执行到 【fmt.Scanln(&xxx)】时,程序会停在这里,等待用户输入后,进行回车,然后才会执行下一条指令。

fmt.Scanf

可以按指定的格式进行输出。例如可以使用空格进行隔开。

相关推荐
__AtYou__7 分钟前
Golang | Leetcode Golang题解之第417题太平洋大西洋水流问题
leetcode·golang·题解
yanyanwenmeng8 分钟前
matlab基础
开发语言·算法·matlab
拉玛干15 分钟前
社团周报系统可行性研究-web后端框架对比-springboot,django,gin
数据库·python·spring·golang
末央&25 分钟前
【C++】内存管理
java·开发语言·c++
不是仙人的闲人28 分钟前
Qt日志输出及QsLog日志库
开发语言·数据库·qt
八了个戒34 分钟前
【TypeScript入坑】TypeScript 的复杂类型「Interface 接口、class类、Enum枚举、Generics泛型、类型断言」
开发语言·前端·javascript·面试·typescript
梦想科研社43 分钟前
【无人机设计与控制】四旋翼无人机轨迹跟踪及避障Matlab代码
开发语言·matlab·无人机
Yan-英杰43 分钟前
Encountered error while trying to install package.> lxml
开发语言·python·pandas·pip·issue
卡卡_R-Python1 小时前
海洋气象编程工具-Python
开发语言·python
爱学习的真真子1 小时前
菜鸟也能轻松上手的Java环境配置方法
java·开发语言