Go 语言 在线

2190go-switch-statement

1. 支持多条件匹配

switch{
    case 1,2,3,4:
    default:
}

2. 不同的 case 之间不使用 break 分隔,默认只会执行一个 case。

3. 如果想要执行多个 case,需要使用 fallthrough 关键字,也可用 break 终止。

switch{
    case 1:
    ...
    if(...){
        break
    }

    fallthrough // 此时switch(1)会执行case1和case2,但是如果满足if条件,则只执行case1

    case 2:
    ...
    case 3:
}

2189go-nested-if-statements

判断用户密码输入:

package main 

import"fmt"

func main(){
    var a int 
    var b int
    fmt.Printf("请输入密码:   \n")
    fmt.Scan(&a)
    if a == 5211314 {
    fmt.Printf("请再次输入密码:")
    fmt.Scan(&b)
        if b == 5211314 {
            fmt.Printf("密码正确,门锁已打开")
        }else{
            fmt.Printf("非法入侵,已自动报警")
        }
    }else{
        fmt.Printf("非法入侵,已自动报警")
    }
}

2188go-if-else-statement

if ... else if ... else... 实例:

package main

import "fmt"

func main() {
    var age int = 23
    if age == 25 {
        fmt.Println("true")
    } else if age < 25 {
        fmt.Println("too small")
    } else {
        fmt.Println("too big")
    }
}

2187go-if-else-statement

寻找到 100 以内的所有的素数:

package main

import "fmt"
func main(){
    // var count,c int   //定义变量不使用也会报错
    var count int
    var flag bool
    count=1
    //while(count<100) {    //go没有while
    for count < 100 {
        count++
        flag = true;
        //注意tmp变量  :=
        for tmp:=2;tmp<count;tmp++ {
            if count%tmp==0{
                flag = false
            }
        }

        // 每一个 if else 都需要加入括号 同时 else 位置不能在新一行
        if flag == true {
            fmt.Println(count,"素数")
        }else{
            continue
        }
    }
}

2186go-if-statement

if 语句使用 tips

(1) 不需使用括号将条件包含起来

(2) 大括号{}必须存在,即使只有一行语句

(3) 左括号必须在if或else的同一行

(4) 在if之后,条件语句之前,可以添加变量初始化语句,使用;进行分隔

(5) 在有返回值的函数中,最终的return不能在条件语句中