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


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

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

    一、 运算符的基本分类

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

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

    二、算数运算符

    1. 介绍

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

    在这里插入图片描述

    2. 取余和取模

    1. 对于除号"",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如: x:= 19/5,结果是 3
    2. 当对一个数取模时,可以等价 a%b=a-a/b*b ,这样我们可以看到 取模的一个本质运算。
    	//  关于 运算符:  【/】 取模。
    	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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

    var day int = 97
    fmt.Println("还有", day/7, "个星期", "  零", day%7, "天")  
    // 还有 13 个星期   零 6 天
    
    • 1
    • 2
    • 3

    3. ++ 和–

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

    2. Golang的++ 和-- 只能写在变量的后面,不能写在变量的前面,即:只有 a++/ a-- 没有 ++a、–a
      在这里插入图片描述
      在这里插入图片描述

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

    	var a int = 10
    	a++
    	fmt.Println(a)  // 11
    	a--
    	fmt.Println(a)  // 10
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、关系运算符

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

    在这里插入图片描述

    四、逻辑运算符

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

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

    在这里插入图片描述

    在这里插入图片描述

    五、赋值运算符

    赋值运算符就是将某个运算后的值,赋给指定的变量。
    在这里插入图片描述

    在这里插入图片描述

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

    	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 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    六、位运算符

    七、其他运算符

    在这里插入图片描述

    八、终端输入

    fmt.Scanln

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

    fmt.Scanf

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

    在这里插入图片描述

  • 相关阅读:
    安装搭建私有仓库Harbor
    SCI写作指南
    一个奇怪的蓝牙模块分析记录
    Java 面试全解析:核心知识点与典型面试题
    交易机器人-微信群通知
    [附源码]计算机毕业设计基于Springboot物品捎带系统
    Modelsim与Vivado版本匹配说明
    什么是UML UML入门到放弃系列
    蓝桥杯打卡Day1
    维格云代码块入门教程
  • 原文地址:https://blog.csdn.net/weixin_43989347/article/details/134291665