成功最有效的方法就是向有经验的人学习!

流程控制

条件循环

if else(分支结构)

package main

import "fmt"

func main() {
    // 1、if else
    score := 65
    if score > 90 { // 条件不成立(走else语句)
        fmt.Println("高分")
    } else {
        fmt.Println("小于90") // 小于90
    }
}

if 条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断

package main

import "fmt"

func main() {
    //// 2、score写在if后面,这个score变量就只能在if代码块使用
    if score := 65; score > 90 {
        fmt.Println("高分")
    } else {
        fmt.Println(score)
        fmt.Println("小于90") // 小于90
    }
    //fmt.Println(score)  // score在if语句内定义,不能在外部引用
}
package main

import "fmt"

func main() {
    // 3、if else if .... else
    // if语句特点:从上向下匹配,成立就返回,而不会匹配后面的条件
    score := 66
    if score > 90 {
        fmt.Println("优秀")
    } else if score > 80 {
        fmt.Println("良好")
    } else if score > 70 {
        fmt.Println("一般良好")
    } else {
        fmt.Println("一般")
    }
}

for(循环结构)

1)普通for循环

package main

import "fmt"

func main() {
    // 1、输出1到100
    /*
        i := 1  赋值语句
        i <= 100  条件
        i++   i = i + 1
    */
    for i := 1; i <= 100; i++ {
        fmt.Println(i)
    }
}

2)外部定义 i

package main

import "fmt"

func main() {
    // 2、将i定义到外部
    i := 0
    for i < 10 { // 容易出现死循环,一定要有结束的方法
        fmt.Println(i)
        i++ // i = i + 1 (不是从0开始打印,而是从 i = 0 + 1)
        // i++在fmt上面打印 1~10
        // i++在fmt下面打印 0~9
    }
}

3)模拟while循环
Go 语言中是没有 while 语句的,我们可以通过 for 代替

package main

import "fmt"

func main() {
    // 3、for模拟while循环 (while true)
    k := 1
    for {
        if k <= 10 {
            fmt.Println(k)
        } else {
            break
        }
        k++
    }
}

4)for range(键值循环)

package main

import "fmt"

func main() {
    // 4、for range打印索引和值
    s := "hello world"
    for index, val := range s {
        fmt.Println(index, val)
    }
}

switch case

使用 switch 语句可方便地对大量的值进行条件判断

package main

import (
    "fmt"
)

func main() {
    // 解决我们有大量的 if else if ...
    score := "Bxxx"
    switch score {
    case "A":
        fmt.Println("得分为A基本")
    case "B":
        fmt.Println("得分为B等级")
    case "C":
        fmt.Println("得分为C")
    default: // 当上面的所有条件全不成立,会执行default
        fmt.Println("得分为default")
    }
}

breakcontinue

break跳出循环
continue跳出本次循环

1、break跳出单循环

package main

import "fmt"

func main() {
    // break: 跳出当前循环(循环结束)
    // continue: 结束当前这一次循环,进行下一次循环

    for i := 1; i < 10; i++ {
        if i == 5 {
            break // 直接跳出了for循环
        }
        fmt.Println(i)
    }
}

continue(继续下次循环)

package main

import "fmt"

func main() {
    // break: 跳出当前循环(循环结束)
    // continue: 结束当前这一次循环,进行下一次循环

    for i := 1; i < 10; i++ {
        if i == 5 {
            //break // 直接跳出了for循环
            continue
        }
        fmt.Println(i)
    }
}
赞(0) 打赏
未经允许不得转载:陈桂林博客 » 流程控制
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册