4.1Go if-else

1. Go if-else

Golang程序的流程控制决定程序如何执行,主要有三大流程控制,顺序控制分支控制循环控制

条件语句需要定义一个或多个条件,并且对条件测试的true或false来决定是否执行。

1.1. 顺序控制

代码自上而下逐行执行,中间没有判断、跳转,按默认流程执行,即顺序控制。

1.2. 分支控制

让程序有选择的执行,有单分支双分支多分支

单分支

语法

if 表达式为真{
    //代码
}else{
    //否则进入此语句块
}

实例

package main

import "fmt"

func main() {
    var age int
    fmt.Println("请输入您的年纪:")
    //获取用户输入,传入变量地址,防止值拷贝
    fmt.Scanln(&age)
    if age > 18 {
        fmt.Println("你已经是个18岁的小伙子了!!加油")
    }
}

多重if嵌套

package main

import "fmt"

func main() {
    a := 100
    b := 200
    if a == 100 {
        if b == 200 {
            fmt.Println("a为100,b为200")
        }
    } else {
        fmt.Println("a或b有一个不匹配")
    }

}

双分支

package main

import "fmt"

func main() {
    var age int
    fmt.Println("请输入您的年纪:")
    //获取用户输入,传入变量地址,防止值拷贝
    fmt.Scanln(&age)
    if age > 18 {
        fmt.Println("你已经是超过18岁的小伙子了!!加油")
        //这个else不能换行,必须这么写
    } else {
        fmt.Println("未满18,回家写作业!!")
    }
}

多分支

package main

import (
    "fmt"
)

/*
有一核桃,将被进行以下处理
干干巴巴、麻麻赖赖、那就盘他!!
通透圆润,好东西!!
甭管什么东西,盘他!!

*/
func main() {
    var hetao string
    fmt.Println("请输入核桃的成色")
    fmt.Scanln(&hetao) //写入变量

    //多分支判断
    if hetao == "干干巴巴,麻麻赖赖" {
        fmt.Println("盘他!!")
    } else if hetao == "通透圆润" {
        fmt.Println("好东西!!")
    } else {
        fmt.Println("管他三七二十,来啥盘啥!!")
    }
}
posted @ 2019-07-27 21:24  笑得好美  阅读(357)  评论(0编辑  收藏  举报