Golang 学习笔记03-判断语句和循环语句

Golang 学习笔记03-判断语句和循环语句
SEAlencehe判断语句
if
中断式(卫语句)
var a int = 10
if a > 5 {
fmt.Println("a大于5")
return
}
switch
和 js 差不多
switch a {
case 1:
fmt.Println("a等于1")
case 2:
fmt.Println("a等于2")
default:
fmt.Println("a不等于1和2")
}
满足其中一个条件就不会继续判断了
如果要继续往下走,使用fallthrough关键字
b := 23
switch {
case b <= 10:
fmt.Println("b小于等于10")
case b > 10:
fmt.Println("b大于10小于等于20")
fallthrough
case b > 20:
fmt.Println("b大于20小于等于30")
default:
fmt.Println("b大于20")
}
逻辑符
- &&
- ||
- !
// 逻辑符
if a > 5 && a < 10 {
fmt.Println("a大于5小于10")
}
if a > 5 || a < 10 {
fmt.Println("a大于5小于10")
}
逻辑短路
&&第一个条件如果是 false,后面的条件就不会走了
||第一个条件如果是 true,后面的条件就不会走了
循环语句
for
传统版本
也和 js 差不多
var sum int
for i := 1; i <= 100; i++ {
sum += i
}
fmt.Println(sum)
两种死循环
for {
fmt.Println(time.Now())
time.Sleep(2 * time.Second)
}
for true {
fmt.Println(time.Now())
time.Sleep(2 * time.Second)
}
Go 没有 while 关键字
可以通过 for 变化而来
var sum int
var i int = 1
for i <= 100 {
sum += i
i++
}
do-while 模式
for {
sum += i
i++
if i == 101 {
break
}
}
遍历切片
传统方式
var nameList []string = []string{"张三", "李四", "王五"}
// 传统方式
for i := 0; i < len(nameList); i++ {
fmt.Println(nameList[i])
}
Go 方式,和 py 类似
for index, item := range nameList {
fmt.Println(index, item)
}
0 张三
1 李四
2 王五
遍历 map
var nameMap = map[string]string{"name1": "张三", "name2": "李四"}
for key, value := range nameMap {
fmt.Println(key, value)
}
name1 张三
name2 李四
练习
九九乘法表
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d\t", i, j, i*j)
}
fmt.Println()
}
break 和 continue
和 py 类似,continue 跳出本次循环,break 跳出循环
for i := 1; i <= 10; i++ {
if i%2 == 0 {
continue
}
fmt.Println(i)
}
1
3
5
7
9
for i := 1; i <= 10; i++ {
if i%2 == 0 {
break
}
fmt.Println(i)
}
1
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果

