GO语言条件控制

条件控制语句

选择结构 if

  • 三种结构
package main

func main() {
    //第一种
    if 初始化表达式; 条件表达式 {
        语句1
    }
    //第二种格式
    if 初始化表达式; 条件表达式 {
        语句1
    }else{
        语句2
    }
    //第三种格式
    if 初始化表达式; 条件表达式 {
        语句1
    }else if 初始化表达式; 条件表达式 {
        语句2
    }else{
        语句3
    }
}
  • 实例
package main

import "fmt"

func main() {
    //判断是否成年
    if num := 5; num<18{
        fmt.Println("未成年")
    }
}
package main

import "fmt"

func main() {
    //判断是否成年
    if num := 20; num<18{
        fmt.Println("未成年")
    }else{
        fmt.Println("成年人")
    }
}
  • 注意点
  1. 条件表达式返回的是布尔类型
  2. if 后面的大括号( {} )不能省略. 条件表达式的括号省略()
  3. 可以在条件表达式前面增加初始化表达式
  4. 每个条件表达式前面都可以添加初始化表达式(会采用就近原则取值)
  5. 如果初始化表达式定义在if里面 那么变量就只能在if结构里面使用,定义的变量后面的结构都可以使用
    [25]

switch 语句

  • 格式
package main

func main() {

    // 第一种
    switch 值 {
    case 1:
        语句1
    case 2:
        语句2
    case 3:
        语句3
    default:
        语句4
    }
    //第二种
    switch 初始化表达式;值 {
    case 1:
        语句1
    case 2:
        语句2
    case 3:
        语句3
    default:
        语句4
    }
}
  • 注意点
  1. GO语言中的switch 可以传入小数
  2. GO语言中的switch 可以添加初始化表达式
  3. GO语言中默认不用写break, 不会穿透,如果需要穿透,需要手动添加一个fallthrough
  4. Go语言中 default 可以不用写 也可以写到其他位置,系统都会最后执行
  5. GO语言中 case 后面可以直接定义变量,不用加大括号" {} "

循环控制语句

  • GO语言中只有for 循环一种

循环结构for

package main

func main() {
    
    for 初始化表达式;条件表达式;增量表达式  {
        循环语句
    }
    
}
  • 最简单的死循环
for { }
  • 实例
package main

import "fmt"

func main() {

    for i:=0;i<10;i++{
        fmt.Println("我是go 语言的for")
    }

}

  • 注意点
  1. 条件表达式只能返回布尔值
  2. 不能省略" {} "

四大跳转

break

  • GO语言中break 使用在 switch 和 循环语句 中
    但是Go语言中switch中默认就不会穿透,所以break 也就可以不用写
  • 注意点
  1. GO语言中的break可以跳转到指定标签
  2. 标签只能定义在前面,并且跳转到标签之后循环不会被再次执行了
  3. 标签和循环之间不能再编写其他语句
package main

import "fmt"

func main() {

  br:
    for i:=0;i<3;i++ {
        fmt.Println("break跳转")

        if i == 2 {

            break br
        }
    }// for end
}  //main end

continue

  • Go语言中continue 和C语言一样只能用于循环结构中

  • Go语言中的continue 可以跳转到指定标签

  • 注意点

  1. 如果跳转的是单层循环,那么和不指定是一样的所以没有意义
  2. 如果跳转的多层循环,那么会结束当前内循环 跳转到下一次的外循环
  3. 跳转的标签 只能写在要跳转循环的前面
  4. 标签和要跳转的循环之间不能再有别的语句
package main

import "fmt"

func main() {

con:
    for i:=1;i<=5;i++{
        fmt.Println(i)
        for j:=1;j<=10;j++{
            if j%2 == 0{
                continue con  // 只要j=2满足条件就会跳出
            }
            fmt.Println("*****",j)  // 所以j 永远等于1
        }
    }
}  //main end
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行...
    穷人家的孩纸阅读 823评论 1赞 1
  • [The Swift Programming Language 中文版]本页包含内容: Swift提供了多种流程控...
    风林山火阅读 722评论 0赞 0
  • 控制流 [TOC] Swift提供了多种流程控制结构,包括可以多次执行任务的while循环,基于特定条件选择执行不...
    伍哥___阅读 614评论 0赞 0
  • 毕伟 2018年5月25日读《活法》 学习要点:拔正剑成功,拔邪剑灭亡。 学习感悟:首先要舍弃死心,用清澈的心灵...
    毕伟_561e阅读 546评论 0赞 0
  • 1 我发现自己怀孕的时候是在国内,那时候赶上出差,恰好从南到北,从香港到北京走了一圈,路上经常身体不适,因而跑了几...
    墨若雨之阅读 330评论 0赞 0

友情链接更多精彩内容