zoukankan      html  css  js  c++  java
  • 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循环
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    2013.11.19上班 任务:写文档
    js 时间比较和货币格式显示
    SQL优化
    多线程消费队列中的接口数据,接口数据来源是kafka
    List<Map<String, Object>> 中根据某一个属性进行排序
    ES查询操作
    Valid Sudoku
    Decode Ways
    Jump Game
    Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/guo-s/p/13927868.html
Copyright © 2011-2022 走看看