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

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

相关推荐
一只叫煤球的猫8 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
bobz9658 小时前
tcp/ip 中的多路复用
后端
bobz9658 小时前
tls ingress 简单记录
后端
你的人类朋友10 小时前
什么是OpenSSL
后端·安全·程序员
bobz96510 小时前
mcp 直接操作浏览器
后端
前端小张同学12 小时前
服务器部署 gitlab 占用空间太大怎么办,优化思路。
后端
databook12 小时前
Manim实现闪光轨迹特效
后端·python·动效
武子康13 小时前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
该用户已不存在13 小时前
6个值得收藏的.NET ORM 框架
前端·后端·.net
文心快码BaiduComate13 小时前
文心快码入选2025服贸会“数智影响力”先锋案例
前端·后端·程序员