go 语言-- 控制语句
2020-10-23 本文已影响0人
scannme
1 循环语句
循环语句是一条表达式需要执行多次。Go 只有一种循环语句for循环, for循环语句不需要使用()
for 初始化语句;条件语句;修饰语句 {}
示列
package main
import "fmt"
func main() {
sum := 0
for i := 0; i < 10; i ++ {
sum += i
}
fmt.Println(sum)
}
go 语言没有while语言,使用下面for语句:
func main() {
sum := 1
for sum < 1000 {
sum += sum
}
fmt.Println(sum)
}
无限循环语句:
for {
}
2 if-else 结构
基本语法:
if condition {
//do something
} else if condition2 {
//do something
} else {
//do something
}
示列:
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
} else {
fmt.Printf("%g >= %g\n", v, lim)
}
// can't use v here, though
return lim
}
func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
3. switch 结构
语法结构:
switch var {
case val1:
....
case val2:
....
default:
...
}
go 语言的switch比C语言的更灵活,var可以是任何类型, val1和val2可以是同一类型的任何值。go语言的switch语句匹配到某个分支,执行完之后直接退出switch代码块,不需要执行break, 如果需要则可以使用关键字fallthrough
switch i {
case 0: //空分支,当i==0时执行
case 1:
f() //当i==0时不执行
}
//case 2
switch i{
case 0:fallthrough
case 1:
f() //当i==0时也会被调用
}
4 break和continue
go语言和break和continue和C语言的作用基本一致。
1、关键字break对应for循环是跳出当前循环,对应switch和select是跳出switch和selcet的代码块。
2、关键字continue忽略剩余的循环体直接进入下一个循环