本文介绍SpringBoot相关内容。和【跨考菌】一起加油吧~

如果你有收获,记得帮博主一键三连哦😊


1 标识符

1.1 命名规则

var num int //ok var 3num int //error

1.2 标识符命名注意事项

  1. 包名: 保持 package 的名字和目录保持一致, 尽量采取有意义的包名, 简短, 有意义, 不要和
    标准库不要冲突 fmt
  2. 变量名、 函数名、 常量名: 采用驼峰法
    举例:
    var stuName string = “tom” 形式: xxxYyyyyZzzz …
  3. 如果变量名、 函数名、 常量名首字母大写, 则可以被其他的包访问; 如果首字母小写, 则只能
    在本包中使用 ( 注: 可以简单的理解成, 首字母大写是公开的, 首字母小写是私有的) ,在 golang 没有public , private 等关键字。

1.3 系统保留关键字

1.4 系统预定义标识符

2 运算符

2.1 算术运算符

2.1.1 简单案例

/的用法

//重点讲解 /、%
//说明,如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分
fmt.Println(10 / 4) 

var n1 float32 = 10 / 4 //
fmt.Println(n1)

//如果我们希望保留小数部分,则需要有浮点数参与运算
var n2 float32 = 10.0 / 4
fmt.Println(n2)
  • 整数相除,得到的是去掉小数部分的整数;
  • 如果希望保留小数部分,需要浮点数参与运算。

%的用法

看一个公式 a % b = a - a / b * b

fmt.Println("10%3=", 10 % 3) // =1
fmt.Println("-10%3=", -10 % 3) // = -10 - (-10) / 3 * 3 = -10 - (-9) = -1
fmt.Println("10%-3=", 10 % -3) // =1
fmt.Println("-10%-3=", -10 % -3) // =-1

++和–的用法

// ++ 和 --的使用
var i int = 10
i++ // 等价 i = i + 1
fmt.Println("i=", i) // 11
i-- // 等价 i = i - 1
fmt.Println("i=", i) // 10

2.1.2 注意事项

a%b=a-a/b*b

2.2 关系运算符

2.2.1 简单案例

//演示关系运算符的使用
var n1 int = 9
var n2 int = 8
fmt.Println(n1 == n2) //false
fmt.Println(n1 != n2) //true
fmt.Println(n1 > n2) //true
fmt.Println(n1 >= n2) //true
fmt.Println(n1 < n2) //flase
fmt.Println(n1 <= n2) //flase
flag := n1 > n2
fmt.Println("flag=", flag)

2.2.2 使用细节

  1. 关系运算符的结果都是 bool 型, 也就是要么是 true, 要么是 false。
  2. 关系运算符组成的表达式, 我们称为关系表达式: a > b
  3. 比较运算符"=="不能误写成 “=” !!

2.3 逻辑运算符

2.3.1 简单案例

2.3.2 使用细节

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

2.4 赋值运算符

2.4.1 简单案例

//赋值运算符的使用演示
// var i int 
// i = 10 //基本赋值

//有两个变量,a和b,要求将其进行交换,最终打印结果
// a = 9 , b = 2 ==> a = 2 b = 9
a := 9
b := 2
fmt.Printf("交换前的情况是 a = %v , b=%v \n", a, b)
//定义一个临时变量
t := a
a = b //
b = t //
fmt.Printf("交换后的情况是 a = %v , b=%v \n", a, b)

//复合赋值的操作
a += 17 // 等价 a = a + 17
fmt.Println("a=", a)

2.4.2 赋值运算符的特点

  1. 运算顺序从右往左
var c int 
c = a +3 // 赋值运算的执行顺序是从右向左
fmt.Println(c)
  1. 赋值运算符的左边 只能是变量,右边 可以是变量、 表达式、 常量值
//2)赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
// 表达式:任何有值都可以看做表达式
var d int
d = a //  
d = 8 + 2 * 8 // =的右边是表达式
d = test() + 90 //  =的右边是表达式
//d = 890 // 890常量
fmt.Println(d)
a += 3 等价于 a = a + 3

2.4.3 交换两个变量

//有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
var a int = 10
var b int = 20

a = a + b //
b = a - b // b = a + b - b ==> b = a
a = a - b // a = a + b - a ==> a = b

fmt.Printf("a=%v b=%v", a, b)

2.5 位运算符和移位运算符

2.5.1 位运算符

2.5.2 原码-反码-补码

位运算可能会涉及到负数的操作。这就需要了解正负数的原码-反码-补码的计算方式。

在计算机运算的时候都是以补码的方式来计算的。

2.5.3 位运算案例


2.5.4 移位运算符

>><<>><<

案例:
a := 1 >> 2 // 0000 0001 =>0000 0000 = 0
c := 1 << 2 // 0000 0001 ==> 0000 0100 => 4

2.6 其他运算符

2.7 特别说明

golang不支持三元运算符!
但是可以通过下面的方式实现三元运算符的效果。

var i int = 10
var j int = 12
//传统的三元运算
//n = i > j ? i : j
if i > j {
	n = i
} else {
	n = j
}
fmt.Println("n=", n) // 12

2.8 运算符的优先级

  1. 运算符有不同的优先级, 所谓优先级就是表达式运算中的运算顺序。上一行运算符总优先于下一行。
  2. 只有单目运算符、 赋值运算符是从右向左运算的。
  3. 梳理了一个大概的优先级
    1: 括号, ++, - -
    2: 单目运算
    3: 算术运算符
    4: 移位运算
    5: 关系运算符
    6: 位运算符
    7: 逻辑运算符
    8: 赋值运算符
    9: 逗号