1.顺序控制

  若没有判断,没有跳转,程序由上至下依次执行

2.分支控制

  • 单分支
    if 条件表达式 {
      执行代码块
    }
  • 双分支
    if 条件表达式 {
      执行代码块1
    } else {
      执行代码块2
    }
  • 多分支
    if 条件表达式 {
      执行代码块1
    } else if {
      执行代码块2
    } else {
      执行代码块3
    }
  • switch语句用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止;
  • 匹配项后面不需要加break;
  • swith使用细节:
    • case后面是一个表达式(即:常量值、变量、一个有返回值的函数)
    • case后的各表达式的值的数据类型必须和swith表达式数据类型一致;
    • case后面可以带多个表达式,使用逗号间隔,比如case 表达式1,表达式2
    • case后面的表达式如果是常量值,即要求不能重复;
    • case后面不需要带break;
    • defaut语句不是必须的;
    • swith后面可以不带表达式,类似if else分支来使用;
    • swith后面也可以直接申明定义一个变量,分号结束,不推荐;
    • switch之fallthrough(穿透)也就是执行某个case后,还会再执行它接下来的一个case

    • Type switch :swich语句还可以被用于type-switch来判断某个Interface变量中实际指向的变量类型;

3.循环控制

(1)基本语法

  1)for 循环变量初始化;循环条件;循环变量迭代 {

     循环操作

    }

  2)for 循环条件 {

       循环操作

      }(相当于while?)

  3)for {

     循环操作

     break

     }

for循环的使用细节:

(1)golang提供for-range方式,可以方便的遍历字符串和数组;(是按照字符来遍历的,而不是字节)

(2)利用for实现while和do while

(3)多层循环控制

  • 统计3个班的成绩情况,每个班拥有五名学生,求出各个班的平均分和所有班级的平均分(学生的成绩从键盘输入)
  • 打印金字塔

  • 打印九九乘法表

(4)break的使用注意:

可以通过指定标签跳出哪层循环

(5)continue(继续某一层)

同样的,continue也可以指定标签继续哪一层:

注意和break的区别。

(6)跳转语句goto

  • goto语句可以无条件地转移到程序中指定的行;
  • goto语句通常与条件语句配合使用。可用来实现条件转移,跳出循环体等功能;
  • 在go程序设计中一般不主张使用goto语句,以避免造成程序流程的混乱;

(7)跳转控制语句return

  • 表示跳出所在的方法或函数;

(十三)golang--程序流程控制的更多相关文章

  1. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  2. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  3. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

  4. Java基础之程序流程控制

    Java中的程序流程控制 Java中的程序流程分为三种结构:①顺序结构:②分支结构:③循环结构 一.顺序结构 Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量. ...

  5. 4. Scala程序流程控制

    4.1 程序流程控制说明 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句,顺序控制,粉质控制,循环控制 温馨提示:Scala语言中控制结构和Java语言中的 ...

  6. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  7. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  8. Java 基础入门随笔(4) JavaSE版——程序流程控制

    上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构.判断结构(if).选择结构(switch).循环结构. 1.判断结构 ①if语句的第一种格式:        ...

  9. Java程序流程控制

    程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...

  10. Java基本语法--程序流程控制

    流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构.分支结构.循环结构.本篇博客主要是对 ...

随机推荐

  1. CD 基金会、Jenkins、Jenkins X、Spinnaker 和 Tekton 的常问问题

    转载:https://mp.weixin.qq.com/s/bQLqGrCM9NZYI0Njlu4N-w FAQ 什么是持续交付(CD)? CD是一种软件工程方法,团队在短周期内生成软件,确保软件可以 ...

  2. Quartz.net任务调度

    一.Quartz.net简介 Quartz.net是一个开源的任务调度框架,很多定时任务.调度任务都可以用这个框架,如定时日志等. 二.Quartz.net用途 定时给女朋友发送消息 女朋友生日的时候 ...

  3. C 结构体、位域

    参考链接:https://www.runoob.com/cprogramming/c-structures.html 结构体是干啥的 例如数组可以用来存储多个相同数据类型的数据项,结构体也是一种数据类 ...

  4. PhaseScorer:感慨高手写的代码就是精炼

    看懂了PhaseScorer的算法后,回想起前面看的算法和代码,感慨高手写的代码总是那么精炼,没有一句废话,多一句不行,少一句不行.明天来了写下PhaseScorer算法的实现:todo

  5. React中的三大属性

    一.前言: 属性1:state 属性2:props 属性3:ref 与事件处理 二.主要内容: 属性1:state 1,认识: 1) state 是组件对象中最重要的属性,值是一个对象(可以包含多个数 ...

  6. 小鸟初学Shell编程(一)认识Shell

    开篇介绍 Linux里非常的有用的一个功能,这个功能就叫Shell脚本. Shell脚本在我日常开发工作里也占了非常重要的角色,项目中一些简单的工作我们都可以使用Shell脚本来完成,比如定时删除日志 ...

  7. access truncate

    access int access(const char *pathname, int mode); 确定文件或文件夹的访问权限 //unistd.h #define R_OK 4 /* Test f ...

  8. linux ptrace I【转】

    转自:https://www.cnblogs.com/mmmmar/p/6040325.html 这几天通过<游戏安全——手游安全技术入门这本书>了解到linux系统中ptrace()这个 ...

  9. LGBMClassifier参数

    本文链接:https://blog.csdn.net/starmoth/article/details/845867091.boosting_type=‘gbdt’# 提升树的类型 gbdt,dart ...

  10. Everybody Dance Now

    一.摘要 作者提出了一种简单的动作迁移方法,实现了"do as I do":给定一个人跳舞的源视频,作者可以在目标对象表演标准动作的短短几分钟后,将该表演转移到一个新的(业余的)目 ...