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

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

相关推荐
码栈研说2 分钟前
Go 语言大白话入门 7 - 函数:把重复代码收起来
后端·程序员
程序员天天困2 分钟前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·后端
ServBay22 分钟前
WordPress 核心漏洞 wp2shell,波及超 5 亿网站
后端·php
Ulyanov1 小时前
Python实现6-DOF刚体仿真器(下)——环境扰动与控制闭环
开发语言·python·算法·系统仿真·雷达电子对抗·导引头
分布式存储与RustFS1 小时前
RustFS Beta.10 性能解读:PUT 全面反超 MinIO,Rust 重写对象存储成了?
开发语言·后端·rust
Reart1 小时前
Leetcode 309.买卖股票的最佳时期含冷冻期(你也想成为股票高手吗o〃ω〃o,718)
后端
小小的木头人1 小时前
Python 批量解析 Excel 经纬度,调用高德地图 API 获取中文地址
开发语言·python·excel
Reart2 小时前
Leetcode 188.买卖股票的最佳时机4(718)
后端·算法
Reart2 小时前
Leetcode 123.买卖股票的最佳时期3(内有随心谈,718)
后端·算法
只与明月听2 小时前
LangChain 学习-掌握LangChain Core API
前端·人工智能·后端