zoukankan      html  css  js  c++  java
  • (十三)golang--程序流程控制

    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

    • 表示跳出所在的方法或函数;
  • 相关阅读:
    sql server 总结一下堆和索引的东西
    公开课笔记:美联储与经济危机(一:金本位,大萧条)
    关于一个springcloud项目中学到的(二:分布式集群,Maven,JDKJRE,编译和解释)
    关于一个springcloud项目中学到的(一:感受)
    sql 经典查询50题 思路(一)
    信息熵的定义和简单计算
    使用Mulesoft建立webservice, jax-ws方式, wsdl first
    使用Mulesoft建立webservice, simple方式,POJO
    编写高质量代码 改善Python程序的91个建议
    23 种编程学习资料免费分享,你想要的都有
  • 原文地址:https://www.cnblogs.com/xiximayou/p/11845192.html
Copyright © 2011-2022 走看看