Golang控制
所有的学习记录都在 https://gitee.com/mslsy/golang_study
package main
import "fmt"
func main() {
// 分支结构
// if else 分支
var num = 95
if num >= 90 {
fmt.Println("优")
} else if num >= 80 {
fmt.Println("良")
} else if num >= 60 {
fmt.Println("及格")
} else {
fmt.Println("不合格")
}
// if else 特殊写法
fmt.Println("if else 特殊写法--------------------")
if num := 80; num >= 90 { // 这里的num变量属于if else中的局部变量,不影响外部变量
fmt.Println("优")
} else if num >= 80 {
fmt.Println("良")
} else if num >= 60 {
fmt.Println("及格")
} else {
fmt.Println("不及格")
}
// switch case
fmt.Println("switch case-----------")
switch num {
case 90, 80, 70, 60, 50, 40, 30, 20, 10:
fmt.Println("10的倍数")
case 95, 85, 75, 65:
fmt.Println("大于60且以5结尾")
default:
fmt.Println("这是switch case")
}
//switch case 2
fmt.Println("switch case2----------------------------")
num = 84
switch {
case num >= 90:
fmt.Println("优")
case num >= 80:
fallthrough //继续向下
case num >= 70:
fmt.Println("良")
case num >= 60:
fmt.Println("及格")
default:
fmt.Println("不合格")
}
// 循环
// for循环
fmt.Println("for 循环")
var arr []string = []string{"唱", "跳", "rap", "篮球"}
for i := 0; i < len(arr); i++ {
fmt.Println(i, arr[i])
}
// for死循环
for {
fmt.Println("死循环")
break // 跳出循环
}
// break continue
for i := 0; i < len(arr); i++ {
if arr[i] == "rap" {
break // break 跳出循环,后面的循环不再执行
}
fmt.Println(arr[i])
}
for i := 0; i < len(arr); i++ {
if arr[i] == "rap" {
continue // continue 跳过当次循环,继续执行下次循环
}
fmt.Println(arr[i])
}
// for range 循环
for i, v := range arr {
fmt.Println(i, &v, v)
}
// for range 中的值,实质上是开辟一块内存空间,用于循环存数据,所以每次遍历循环的指针都是一样的
}