跳到主要内容

7、条件语句


title: 7、条件语句 ---​

条件语句

image-20230206164209819

1、条件语句

1.if 语句

if 布尔表达式 {
/* 在布尔表达式为 true 时执行 */
}


if 布尔表达式 {
/* 在布尔表达式为 true 时执行 */
} else if 另外一个布尔表达式 {
/* 在布尔表达式为 true 时执行 */
} else {
/* 在布尔表达式为 false 时执行 */
}

(1)if语句

🍀 案例

image-20230206164221114

package main

import "fmt"

func main() {
a := 20
if a < 20 {
fmt.Println("a < 20")
} else {
fmt.Println("a >= 20")
}
}

🍀 案例

image-20230206164245433

package main

import "fmt"

func main() {
a := 20
if a < 20 {
fmt.Println("a < 20")
} else if a == 20 {
fmt.Println("a = 20")
} else {
fmt.Println("a > 20")
}
}

(2)if语句嵌套

image-20230206164254701

package main

import "fmt"

func main() {
a := 90
b := 520

if a < 20 {
fmt.Println("a < 20")
} else if a == 20 {
fmt.Println("a = 20")
} else {
fmt.Println("a > 20")
if b > 1314 { //false
fmt.Println("b > 1314")
} else {
fmt.Println("b <= 1314")
}
}
}

2.switch...case 语句

    switch expression {
case condition:

}

switch {
case true:
fmt.Println("1、case 条件语句为 false”)
fallthrough
case false:
fmt.Println("2、case 条件语句为 false")
case true:
fmt.Println("3、case 条件语句为 true")
case true:
fmt.Println("4、case 条件语句为 true")
default:
fmt.Println(“5、默认 case”)
}
1.匹配到的 case 后面不需要加 break,相当于默认就有 break;
2.默认情况下 case 匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough, fallthrough 不会判断下一条 case 的表达式结果是否为 true。(即使下面一条的条件为false,也是会执行打印操作的)
3.switch的条件数据类型都是一致的;

(1)switch语句

image-20230206164306875

package main

import "fmt"

func main() {
a := 90

switch a {
case 89:
fmt.Println("a = 89")
case 90:
fmt.Println("a = 90")
case 91:
fmt.Println("a = 91")
default:
fmt.Println("Unkown")
}
}

(2)表达式语句可以省略的

image-20230206164318307

package main

import "fmt"

func main() {
a := 90

switch {
case a > 520:
fmt.Println("a > 520")
case a < 520:
fmt.Println("a < 90")
case a == 520:
fmt.Println("a == 91")
default:
fmt.Println("Unkown")
}
}

(3)可以把多个case语句合并到一条

image-20230206165137530

package main

import "fmt"

func main() {
a := 93

switch a {
case 89:
fmt.Println("a = 89")
case 90:
fmt.Println("a = 90")
case 91, 92, 93:
fmt.Println("a in [91, 92, 93]")
default:
fmt.Println("Unkown")
}
}

(4)fallthrough语句用法

image-20230206165146405

package main

import "fmt"

func main() {
a := 93

switch a {
case 89:
fmt.Println("a = 89")
case 90:
fmt.Println("a = 90")
case 91, 92, 93:
fmt.Println("a in [91, 92, 93]")
fallthrough
case 94:
fmt.Println("xyy, my heart is hurt!")
fallthrough
case 95:
fmt.Println("we are missing forever!")
default:
fmt.Println("Unkown")
}
}