一、for循环
Go 语言中没有 while
循环,只有一个 for
循环
1
2
3
|
for 变量初始化;条件;变量自增/自减 { 循环体内容 } |
1、基本使用
1
2
3
|
for i := 0; i < 10; i++ { fmt .Println(i) } |
2、省略第一部分
1
2
3
4
|
i := 0 for ; i < 10; i++ { fmt .Println(i) } |
3、省略第一和三部分(这是一个 while 循环) for 条件 { 循环体内容 }
1
2
3
4
5
|
i := 0 for i < 10 { fmt .Println(i) i++ } |
4、死循环
1
2
3
|
for { fmt .Println( "死循环" ) } |
5、开多协程演示
1
2
3
4
5
6
7
8
9
|
for i := 0; i < 2000; i++ { go test () } func test () { for { fmt .Println( "死循环" ) } } |
6、break
结束本次 for 循环,continue 结束本次循环,继续下一次循环
二、Switch语句
Switch
是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块,它可以被认为是替代多个 if else
语句的常用方式
1、基本使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
num := 4 switch num { case 1: fmt .Println( "1" ) case 2: fmt .Println( "2" ) case 3: fmt .Println( "3" ) case 4: fmt .Println( "4" ) } // 输出 4 |
2、默认情况(都没有匹配上)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
num := 5 switch num { case 1: fmt .Println( "1" ) case 2: fmt .Println( "2" ) case 3: fmt .Println( "3" ) case 4: fmt .Println( "4" ) default: fmt .Println( "都没有匹配上" ) } // 输出 都没有匹配上 |
3、多表达式判断
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
num := 44 switch num { case 11, 12, 13, 14: fmt .Println( "1" ) case 21, 22: fmt .Println( "2" ) case 31, 33: fmt .Println( "3" ) case 40, 43, 44: fmt .Println( "4" ) default: fmt .Println( "都没有匹配上" ) } // 输出 4 |
4、无表达式的 Switch
1
2
3
4
5
6
7
8
9
10
|
num := 44 switch { case num == 11, num == 12: fmt .Println(11, 12) case num == 40, num == 44: fmt .Println(40, 44) } // 输出 40 44 |
5、Fallthrough
穿透,只要看到
fallthrough
,无条件执行下一个case
或者default
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
num := 12 switch { case num == 11, num == 12: fmt .Println(11, 12) fallthrough case num == 40, num == 44: fmt .Println(40, 44) fallthrough default: fmt .Println( "无匹配" ) } // 输出 11 12 40 44 无匹配 |
到此这篇关于Go语言之fo循环与条件判断的文章就介绍到这了,更多相关Go语言循环与条件判断内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/XiaoYang-sir/p/15375719.html