1. if结构
- 概念:if是用于测试某个条件的语句,如果该条件成立,则会执行if后面由大括号包裹的代码块,否则就会忽略该代码块继续执行后面的语句
- 其格式如下
if condition {
// statement
}
2. if-else结构
- 如果有两个分支就可以在if条件语句的基础上添加else语句
- 其格式如下
if condition {
// statement
} else {
// statement
}
3. 多重if-else结构
- 多重if-else的格式如下
if condition {
// statement
} else if condition {
// statement
} else {
// statement
}
4. switch结构
- switch分支结构如下
switch condition {
case 0: // statement
case 1: // statement
...
default: //statement
}
- Note:每一个case都是唯一的分支,从上到下逐一测试,知道匹配为止。如果在执行完每个分支的代码后,还希望执行后续的代码,可以使用fallthrough关键字来达到目的
switch condition {
case 0: fallthrough
case 1: // statement
...
default: // statement
}
5. for结构
- 传统for格式如下
for 初始化语句; 条件语句; 修饰语句 {}
func main() {
for i := 0; i <= 8; i++ {
fmt.Println(i)
}
}
6. 基于条件判断的for语句结构
- 格式如下
for 条件语句 {//statement}
var i = 0
for i < 9 {
fmt.Println(i)
i++
}
7. 死循环
- 格式如下
for {// statement}
for {
fmt.Println("golang")
}
8. for-range结构
- 该结构一般用于迭代一个集合
for pos, char := range str {
// statement
}
9. break和continue
- break:退出循环,执行后续语句
- continue:忽略剩余的循环体而直接进入下一次循环的过程,但不是无条件执行,执行之前依旧需要满足循环的判断条件
for i := 0; i < 5; i++ {
for j := 0; j < 6; j++ {
if j == 5 {
break
}
fmt.Println(j+i)
}
fmt.Println(" * ")
}
for i := 0; i < 10; i++ {
if i == 5 {
continue
}
fmt.Println(i)
}
标签和goto
- 标签:即某一行第一个以冒号结尾的单词
- goto语句:语句的跳转
func main() {
LABEL:
for i := 0; i < 10; i++ {
if i == 4 {
continue LABEL
}
fmt.Println(i)
}
k := 0
KU:
fmt.Println(k)
k++
if k == 7 {
return
}
goto KU
}
that's all
有疑问加站长微信联系(非本文作者)