GO基础之流程控制语句
一、if分支语句
if 布尔表达式 1 {
   /* 在布尔表达式 1 为 true 时执行 */
}
if a := ; a% ==  {
   fmt.Println("偶数")
}
 if 布尔表达式 1 {
    /* 在布尔表达式 1 为 true 时执行 */
 }else{
  /* todo else */
 }
    if a := ; a% ==  {
        fmt.Println("偶数")
    } else {
        fmt.Println("奇数")
    }
if 布尔表达式 1 {
      /* 在布尔表达式 1 为 true 时执行 */
 }else if 布尔表达式 2{
  /* 在布尔表达式 1 为 true 时执行 */
}else{  /* todo else */  }
func main() {
    var b =
    if b >=  {
        fmt.Println("优秀")
    } else if b >=  {
        fmt.Println("良好")
    } else {
        fmt.Println("及格")
    }
}
二、for循环语句
func main() {
    //=======格式1===========
    for i := ; i < ; i++ {
        fmt.Println("i=", i)
    }
    //=======格式2===========
    a :=
    for ; a < ; a++ {
        fmt.Println("a=", a)
    }
    //=======格式3(死循环)====
    b :=
    for {
        if b ==  {
            break
        }
        b--
        fmt.Println("b=", b)
    }
}
break 语句用于在完成正常执行之前,突然终止 for 循环。
func main() {
    //=======格式1===========
    for i := ; i < ; i++ {
        if i >=  {
            break
        }
        fmt.Println("i=", i)
    }
}
输出:i= 0;i= 1;i= 2;i= 3;i= 4
continue 语句用来跳出 for 循环中当前循环。在 continue 语句后的所有的 for 循环语句都不会在本次循环中执行。循环体会在一下次循环中继续执行。
func main() {
    for i := ; i < ; i++ {
        if i ==  {
            continue
        }
        fmt.Println("i=", i)
    }
}
输出:i= 0;i= 1;i= 2;i= 4
goto 语句类似 continue  终止当前循环,进入指定的位置(Loop)继续运行
func main() {
    num :=
Loop:
    for num <  {
        num++
        if num% ==  {
            goto Loop
        }
        fmt.Println("i=", num)
    }
}
三、swich分支语句
go语言中的switch语句默认每个case 都有break,这与java语言略有不同
func main() {
    //=========== 格式一 ===========
    switch finger := ; finger {
    case :
        fmt.Println("")
    case :
        fmt.Println("")
    case :
        fmt.Println("")
    default:
        fmt.Println("")
    }
    //===========case后可以多个条件===========
    letter := "i"
    switch letter {
    case "a", "e", "i", "o", "u": // 一个选项多个表达式
        fmt.Println("hello")
    default:
        fmt.Println("word")
    }
    //在 switch 语句中,表达式是可选的,可以被省略。如果省略表达式,则表示这个 switch 语句等同于 switch true
    num :=
    switch { // 表达式被省略了
    case num >=  && num <= :
        fmt.Println("num is greater than 0 and less than 50")
    case num >=  && num <= :
        fmt.Println("num is greater than 51 and less than 100")
    case num >= :
        fmt.Println("num is greater than 100")
    }
}
fallthrough语句:在 Go 中,每执行完一个 case 后,会从 switch 语句中跳出来,不再做后续 case 的判断和执行。使用 fallthrough 语句可以在已经执行完成的 case 之后,把控制权转移到下一个 case 的执行代码中。类似于java 中case之后不写break
func main() {
    //=========== 格式一 ===========
    switch finger := ; finger {
    case :
        fmt.Println("")
    case :
        fmt.Println("")
    case :
        fmt.Println("")
        fallthrough
    default:
        fmt.Println("")
    }
}
GO基础之流程控制语句的更多相关文章
- java基础3_流程控制语句
		
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
 - 再回首,Java温故知新(九):Java基础之流程控制语句
		
流程控制语句分为条件语句.循环语句和中断语句. 中断语句包括break和continue,两者的区别在于break会跳出整个循环,而continue则是跳出此次循环,之后还会继续下一次循环. 条件语句 ...
 - java基础,流程控制语句
		
流程控制语句 条件语句: if语句: *if(条件 boolean类型) ...
 - JavaSE基础篇—流程控制语句
		
本章知识点分析: 流程控制语句 1.定义:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控 制方式采用结构化程序设计中规定的三种基本流程机构:顺序结 ...
 - Java基础学习-流程控制语句
		
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...
 - JavaScript基础之流程控制语句
		
第三部分:流程控制语句 JavaScript代码是书写位置: JavaScript代码应该写在<script type=”text/javascript”></script>这 ...
 - python基础(二)  —— 流程控制语句
		
编程语言中的流程控制语句分为以下几类: 顺序语句 分支语句 循环语句 其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明. 下面主要是 分支语句 和 循环语句的说明 ...
 - java基础(5):流程控制语句(switch)、数组
		
1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...
 - JS基础_流程控制语句
		
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
 - Java基础语法—流程控制语句
		
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.所以,我们必须清楚每条语句的执行流程.而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能. 3.1 流程控制语句分类  ...
 
随机推荐
- 转:查看oracle数据库允许的最大连接数和当前连接数
			
在查看数据的连接情况很有用,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来. 1.查看当前的数据库连接数 select count(*) from v$proce ...
 - 日志   logging    代码格式
			
日志logging 格式代码 import logging looger = logging.getLogger() #创建一个空架子 创建一个文件句柄,用来记录日志(文件流) fh = loggin ...
 - java跬步积累
			
1.eclipse自动生成get/set方法快捷键 alt+shift+s +r 2.eclipse自动生成等号左边快捷键 将光标移到:号右边,然后按Ctrl+1 3.补全代码快捷键 Alt+/ 4. ...
 - .Net Core 商城微服务项目系列(十一):MQ消费端独立为Window服务+消息处理服务
			
之前使用MQ的时候是通过封装成dll发布Nuget包来使用,消息的发布和消费都耦合在使用的站点和服务里,这样会造成两个问题: 1.增加服务和站点的压力,因为每次消息的消费就意味着接口的调用,这部分的压 ...
 - Android的各大框架整理
			
OpenDanmaku :一个Android的弹幕控件 地址:https://github.com/linsea/OpenDanmaku AndroidViewAnimations:Andorid视 ...
 - JS的加减乘除高精度
			
//除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为精确的除法结果. //调用:accDiv(arg1,arg2) ...
 - js模拟下拉菜单-键盘、鼠标(代码详解)
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - oracle表空间不足:ORA-01653: unable to extend table
			
问题背景: oracle表空间不足报错是比较常见的故障,尤其是没有对剩余表空间做定期巡检的系统: 报错代码如下: oracle表空间不足错误代码:ORA-01653: unable to extend ...
 - 1.Eclipse下载、常用配置、快捷键
			
Eclipse官网下载:https://www.eclipse.org/downloads/packages/ 自动补全 位置:Eclipse——Window——Perferences——Java—— ...
 - 采坑指南——k8s域名解析coredns问题排查过程
			
正文 前几天,在ucloud上搭建的k8s集群(搭建教程后续会发出).今天发现域名解析不了. 组件版本:k8s 1.15.0,coredns:1.3.1 过程是这样的: 首先用以下yaml文件创建了一 ...