zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Go 内置运算符 if for switch

Go for if 运算符 内置 switch
2023-09-14 09:15:15 时间

算数运算符

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
}

关系运算符

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
}

逻辑运算符

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")
}

赋值运算符

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("最后执行的打印")