Go---流程控制

介绍

在程序中,程序运行的流程控制决定程序是如何执行的,主要有三大流程控制语句。
1)  顺序控制
2)  分支控制
3)  循环控制

一、顺序控制

顺序控制介绍
程序从上到下逐行地执行,中间没有任何判断和跳转。

二、 分支控制
让程序有选择的的执行,分支控制有三种:
1) 单分支
2) 双分支
3) 多分支

单分支
基本语法
if 条件表达式 {
    执行代码块

}
说明:  当条件表达式为ture时,就会执行{ }的代码。注意{ }是必须有的。

   var age int

    fmt.Println(" please input your age")

    fmt.Scanln(&age)

    if age > 18 {

     fmt.Println(" you are old man")

   }

细节说明
if中的条件判断语句里面允许声明一个变量,这个变量
的作用域只能在该条件逻辑块内,其他地方就不起作用了

if age := 19;  age > 18 {

     fmt.Println(" you are old man")

   }

双分支
基本语法
if
条件表达式 {
执行代码块1

}else {
执行代码块2

}
说明: 当条件表达式成立,即执行代码块1,否则执行代码块2。{ }也是必须有的。

多分支

基本语法
if 条件表达式1 {
执行代码块1
} else if 条件表达式2 {
执行代码块2
}

..........
else {
执行代码块n
}

switch分支结构
基本介绍
1)  switch 语句用于基于不同条件执行不同动作,每一个case 分支都是唯一的,从
上到下逐一测试,直到匹配为止。
2)  匹配项后面也不需要再加break

基本语法

switch 表达式 {
case 表达式1,表达式2,...  :
语句块1
case 表达式3,表达式4, ...... :
语句块2
//这里可以有多个case语句
default:
    语句块

}

switch细节
1) case后是一个表达式(即: 常量值、变量、一个有返回值的函数等都可以)
2) case后的 各个表达式的值的数据类型,必须和switch 的表达式数据类型一致
3) case后面可以带多个表达式, 使用逗号间隔。比如case表达式1,表达式2.
4) case后 面的表达式加果是常量值(字面量).则要求不能重复
5) case后 面不需要带break ,程序匹配到一个case后就会执行对应的代码块。然后退出
switch.如果一个都匹配不到,则执行default。
6) default 语句不是必须的.

7)switch 后也可以不带表达式,类似多个if--else分支来使用。

var num int = 9

   switch{

   case num==6 :

    fmt.Println(" you input number 6")

   case num == 9 :

    fmt.Println(" hello my friend")

   default:

    fmt.Println(" you are get out")

   }

8) switch 后也可以直接声明/定义一个变量,分号结束,不推荐。
9) switch 穿透fallthrough,如果在case语句块后增加fallthroungh,则会继续执行下一个case,
也叫switch穿透。

var num int = 9

   switch num {

   case 6 :

    fmt.Println(" you input number 6")

   case  9 :

    fmt.Println(" hello my friend")

    fallthrough //默认只能穿透一层

   case  11 :

    fmt.Println(" you are you are")

   default:

    fmt.Println(" you are get out")

   }

10) Type switch: switch 语句还可以被用于type-switch来判断某个interface变量中实际指
向的变量类型.

switch和 if 的比较
1) 如果判断的具体数值不多。而且符合整数、浮点数、字符,字符串这几种类型。建仪使用swrich
语句,简洁高效。
2) 其他情况 :对区间判断和结果为bool类型的判断,使用if, if 的使用范圈更广。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值