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

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

相关推荐
李白同学17 分钟前
【C语言】结构体内存对齐问题
c语言·开发语言
黑子哥呢?2 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农2 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿2 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
彳卸风3 小时前
Unable to parse timestamp value: “20250220135445“, expected format is
开发语言
bing_1583 小时前
简单工厂模式 (Simple Factory Pattern) 在Spring Boot 中的应用
spring boot·后端·简单工厂模式
dorabighead3 小时前
JavaScript 高级程序设计 读书笔记(第三章)
开发语言·javascript·ecmascript
天上掉下来个程小白3 小时前
案例-14.文件上传-简介
数据库·spring boot·后端·mybatis·状态模式
风与沙的较量丶3 小时前
Java中的局部变量和成员变量在内存中的位置
java·开发语言
水煮庄周鱼鱼4 小时前
C# 入门简介
开发语言·c#