程序流程控制

69 阅读1分钟

1. if else

单分支

if num < 100{
    fmt.printf("小于100: ", num)
}
// 也可以直接在if中定义一个变量
if num := 99; num < 100 {
    fmt.printf("小于100: ", num)
}

当条件表达式为true时,就会执行{}中的内容

注意和C语言的区别:一定要有{},即使{}中只有一行代码

双分支

if num < 100{
    fmt.printf("小于100: ", num)
} else {
    fmt.printf("大于100: ", num)
}

注意和C语言的区别:else不能换行,否则会报错

多分支

if num < 0{
    fmt.printf("小于0: ", num)
} else if num >= 0 && num < 100 {
    fmt.printf("大于等于0,小于100: ", num)
} else if num >= 100 && num < 200 {
    fmt.printf("大于等于100,小于200: ", num)
} else {
    fmt.printf("大于等于200: ", num)
}

嵌套分支

if num > 100{
    if num > 200{
     fmt.printf("大于200: ", num)
    } else {
     fmt.printf("大于100,小于200: ", num)
    }
} else {
    fmt.printf("小于等于100: ", num)
}

switch

如果判断的具体数值不多,而且符合整数、浮点数、字符、字符串这几种类型,建议使用switch 其实if使用更广泛。我也懒得用switch,留个坑,以后用switch的时候再写

for循环

基本语法

for 循环变量初始化; 循环条件; 循环变量迭代{
    //循环操作
}

for 循环判断条件 {
    //循环执行语句
}

go语言中没有while

for {
    //循环执行语句
    break; //通过break跳出循环
}
等价写法
for ; ; {
    //循环执行语句
}

这种写法等价于while的作用

break 和 continue

goto