一、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基础之流程控制语句的更多相关文章

  1. java基础3_流程控制语句

    一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...

  2. 再回首,Java温故知新(九):Java基础之流程控制语句

    流程控制语句分为条件语句.循环语句和中断语句. 中断语句包括break和continue,两者的区别在于break会跳出整个循环,而continue则是跳出此次循环,之后还会继续下一次循环. 条件语句 ...

  3. java基础,流程控制语句

                                流程控制语句 条件语句:              if语句:                        *if(条件 boolean类型) ...

  4. JavaSE基础篇—流程控制语句

    本章知识点分析: 流程控制语句 1.定义:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控 制方式采用结构化程序设计中规定的三种基本流程机构:顺序结 ...

  5. Java基础学习-流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...

  6. JavaScript基础之流程控制语句

    第三部分:流程控制语句 JavaScript代码是书写位置: JavaScript代码应该写在<script type=”text/javascript”></script>这 ...

  7. python基础(二) —— 流程控制语句

    编程语言中的流程控制语句分为以下几类: 顺序语句 分支语句 循环语句 其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明. 下面主要是 分支语句 和 循环语句的说明 ...

  8. java基础(5):流程控制语句(switch)、数组

    1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...

  9. JS基础_流程控制语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Java基础语法—流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.所以,我们必须清楚每条语句的执行流程.而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能. 3.1 流程控制语句分类 ​ ...

随机推荐

  1. Kerberoasting攻击

    前面我们介绍了<Windows本地认证>.<Windows网络认证>.<Windows域认证>和<SPN扫描>,这次继续讲解域内相关的东西. 0x01介 ...

  2. hadoop之mapreduce详解(进阶篇)

    上篇文章hadoop之mapreduce详解(基础篇)我们了解了mapreduce的执行过程和shuffle过程,本篇文章主要从mapreduce的组件和输入输出方面进行阐述. 一.mapreduce ...

  3. Linux中安装传输的命令行工具

    创建lrzsz目录: mkdir /usr/local/lrzsz 进入lrzsz目录: cd /usr/local/lrzsz 下载lrzsz压缩包: wget http://www.ohse.de ...

  4. Spring MVC-从零开始-分拆applicationContext. xrnl

    1.目录结构 2.web.xml配置 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app ...

  5. redis-分片(转)

    转:https://www.cnblogs.com/houziwty/p/5167075.html 分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包 ...

  6. 阿里云服务器CentOS6.9安装Ant

    下载地址:http://mirrors.hust.edu.cn/apache/ant/binaries/ 1.下载 2.上传到服务器(非root用户下) 3.解压移动目录(root用户下) tar - ...

  7. Kubernetes 系列(六):Kubernetes部署Prometheus监控

    1.创建命名空间 新建一个yaml文件命名为monitor-namespace.yaml,写入如下内容: apiVersion: v1 kind: Namespace metadata: name: ...

  8. mysql root密码忘记

    首先停掉mysql服务,在/etc/my.cnf中添加 skip-grant-tables,同时可以添加skip-networking选项来禁用网络功能,防止这时其他人通过网络连接到数据库 [mysq ...

  9. Android NDK(一) ndk-build构建工具进行NDK开发

    本文目录 一.androidstudio环境 二.快捷键配置 三.新建项目 四.NDK开发 五.so文件编译 一. androidstudio的环境 在SDK Tools中安装NDK开发环境(File ...

  10. Java 爬虫遇上数据异步加载,试试这两种办法!

    这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题 ...