算数运算符
![](https://i-blog.csdnimg.cn/blog_migrate/250af39fd615a6d4996b0867fcbf3ebd.png)
fmt.Println("10+3=", 10+3) //10+3= 13
fmt.Println("10-3=", 10-3) //10-3= 7
fmt.Println("10*3=", 10*3) //10*3= 30
//除法注意:如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分
fmt.Println("10/3=", 10/3) //10/3= 3
fmt.Println("10.0/3=", 10.0/3) //3.3333333333333335
// 取余注意 余数=被除数-(被除数/除数)*除数
fmt.Println("10%3=", 10%3) //10%3= 1
fmt.Println("-10%3=", -10%3) // -10%3= -1
fmt.Println("10%-3=", 10%-3) // 10%-3= 1
fmt.Println("-10%-3=", -10%-3) // -10%-3= -1
i++
func main() {
var i int = 1
i++
fmt.Println("i=", i) // i= 2
}
关系运算符
![](https://i-blog.csdnimg.cn/blog_migrate/5ecb818e32667e4e958841b41774b196.png)
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) //flag= true
}
逻辑运算符
![](https://i-blog.csdnimg.cn/blog_migrate/3d7671df8e851f8914af07407f7e07d7.png)
var age int = 40
if age > 30 && age < 50 {
fmt.Println("ok1")
}
if age > 30 && age < 40 {
fmt.Println("ok2")
}
//演示逻辑运算符的使用 ||
if age > 30 || age < 50 {
fmt.Println("ok3")
}
if age > 30 || age < 40 {
fmt.Println("ok4")
}
//演示逻辑运算符的使用
if age > 30 {
fmt.Println("ok5")
}
if !(age > 30) {
fmt.Println("ok6")
}
赋值运算符
![](https://i-blog.csdnimg.cn/blog_migrate/ac54c3e568794ad0ef03e9ff715064bb.png)
func main() {
d := 8 + 2*8 //赋值运算从右向左
fmt.Println(d) //24
x := 10
x += 5 //x=x+5
fmt.Println("x += 5 的值:", x) //24
}
条件循环 if else(分支结构)
if条件判断基本写法
func main() {
score := 65
if score >= 90 {
fmt.Println("A")
} else if score > 75 {
fmt.Println("B")
} else {
fmt.Println("C")
}
}
if条件判断特殊写法
if 条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断(这里需要注意socre的作用域仅仅在if语句里面,不能再外面使用)
常用场景是执行了xxx的方法 if err,_ := fun() ; err !=nil { }
func main() {
//这里的 score 是局部作用域
if score := 56; score >= 90 {
fmt.Println("A")
} else if score > 75 {
fmt.Println("B")
}else {
fmt.Println("C")
fmt.Println(score) // 只能在函数内部打印 score
}
// fmt.Println(score) //undefined: score
}
for循环结构
普通for循环
func main() {
// 打印: 0 ~ 9 的数字
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
外部定义i
func main() {
i := 0
for i < 10 {
fmt.Println(i)
i++
}
}
模拟while循环
Go 语言中是没有 while 语句的,我们可以通过 for 代替
func main() {
k := 1
for { // 这里也等价 for ; ; {
if k <= 10 {
fmt.Println("ok~~", k)
} else {
break //break 就是跳出这个 for 循环
}
k++
}
}
switch case
使用 switch 语句可方便地对大量的值进行条件判断
score := "B"
switch score {
case "A":
fmt.Println("非常棒")
case "B":
fmt.Println("优秀")
case "C":
fmt.Println("及格")
default:
fmt.Println("不及格")
}
break、continue、return
break跳出整个循环
continue跳出本次循环
return跳出整个函数,并返回响应的值
1. break
k := 1
for { // 这里也等价 for ; ; {
if k <= 10 {
fmt.Println("ok~~", k)
} else {
break //break 就是跳出这个 for 循环
}
k++
}
2. continue 执行完continue之后,那么后面的语句就不执行了
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue
}
println(i)
}
3. return 返回函数和
for i := 0; i < 10; i++ {
fmt.Println(i)
if i == 5 {
return
}
}
fmt.Println("最后执行的打印")