Go - 18 Go 流程控制

在流程控制中,程序运行的流程控制表示决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句
        顺序控制:向前引用
        分支控制:让程序有选择的执行,分为:
                单分支   if  表达式 {}
                双分支   if  表达式 {} else {};只会执行其中的一部分;
                多分支   
                嵌套分支(不要嵌套太多,最多不超过3层)
                switch分支:每一个case分支都是唯一的,从上到下逐一测试,知道匹配为止;匹配项后面不需要加break;
                        golang 中的case后的表达式可以有多个,且用逗号隔开;
                        细节注意:
                                1)case后是一个表达式(即:常量值,变量,一个有返回值函数,还可以运算);
                                2)switch 后数值类型和 case 后的数值类型必须保持一致;
                                3)case后的表达式可以是多个,且用逗号隔开,只要有一个满足就会执行,都不满足进行下一个case;
                                4)case后如果是常量(字面量)则不可以重复;
                                5)default 不是必须的,都不满足就是不做任何操作;
                                6)switch 后也可以不带表达式,用法类似 if -- else 分支使用;
                                7)switch穿透 fallthrough,默认只能穿透一层
                                8)Type switch 
 
 
swith 和 if 的比较
    1.如果判断的具体数值不多,而且符合整数,浮点数,字符,字符串,这几种类型,建议使用swith语句,简洁高效;
    2.其他情况,对区间判断和结果为bool类型的判断,使用if,if使用的范围更广;
 
 
        for循环控制:
            就是让我们的代码循环的执行;
            基本语法:
                for 循环变量初始化; 循环条件; 循环变量迭代 {
                            循环操作(语句)
                  }
                语法格式说明:
                    有四个要素:
                    执行顺序:循环变量初始化-->循环条件判断-->如果循环条件为真就执行循环操作--->循环变量迭代-->反复执行2,3,4直到循环条件为假退出for循环;
                注意事项:
                        1.循环条件是返回一个布尔值的表达式;
                        2.for循环的第二种使用方式:
                                for 循环判断条件 {
                                            循环执行语句
                                        }
                        3.for-range 用来遍历字符串和数组;
                                如果字符串中有中文,传统遍历会出现乱码,因为传统遍历按照字节遍历,而一个汉字在utf8编码是对应3个字节(解决方案:直接转为切片类型进行遍历即可);
                                而for-range 是按字符遍历的所以遇到中文不会出现乱码
 
                    Go语言中没有while和do...while 语法;
                            两者的区别:while: 先判断后执行; do...while: 先执行后判断;
                            break : 就是跳出for循环
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-11-04 19:59  以赛亚  阅读(110)  评论(0编辑  收藏  举报