贵阳网站建设公司哪个好,江西建设厅教育网站,专业苏州房产网站建设,网站的开发流程有哪几个阶段之前我学过C、Java、Python语言时总结的经验#xff1a; 先建立整体框架#xff0c;然后再去抠细节。先Know how#xff0c;然后know why。先做出来#xff0c;然后再去一点点研究#xff0c;才会事半功倍。适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。对于GO语言 先建立整体框架然后再去抠细节。先Know how然后know why。先做出来然后再去一点点研究才会事半功倍。适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。对于GO语言切记遵守语法格式规则。例如python语言、例如SpringBoot框架等 解释某些知识点就是很难了解那么先做出来然后继续向前学习可能在某个时间点我们就会恍然大悟。 07【保姆级】-GO语言的程序流程控制【if switch for while 】 一、 分支控制if else 二、分支控制 switch2.1 基本介绍2.2 switch 和if 的比较 三、for循环3.1 语法格式 四、break和continue跳转控制语句 一、 分支控制if else
基本语法
if 条件表达式 {代码块
}//说明当条件表达式为true 则执行{}中的代码。案例判断输入的年龄是否大于18岁。 var age intfmt.Println(请输入你的年龄)fmt.Scanln(age)if age 18 {fmt.Println(你年龄大于18岁啦)} else {fmt.Println(你年龄小于18岁啦)}Golang支持在if中直接定义一个变量 var age intfmt.Println(请输入你的年龄)fmt.Scanln(age)if age 18 {fmt.Println(你年龄大于18岁啦)} else {fmt.Println(你年龄小于18岁啦)}二、分支控制 switch
2.1 基本介绍
Switch语句用于基于不同条件执行不同动作每一个case分支都是唯一的从上到下逐一测试知道匹配为止。switch的执行的流程是先执行表达式得到值然后和case的表达式进行比较如果相等就匹配到然后执行对应的case的语句块然后退出switch控制如果switch的表达式的值都没有和任何case的表达式匹配成功则执行default的语句。执行后退出switch的控制。最后的default语句不是必须的Golang的case后的表达式可以有多个使用逗号间隔。golang中的case语句块不需要写break因为默认会有即使在默认情况下当执行case语句块后就直接退出switch控制结构。case/switch后是一个表达式即常量值、变量、一个有返回值的函数等都可以的case后的各个表达式的值的数据类型必须和switch的表达式数据类型一致case后面可以带多个表达式使用逗号间隔。比如case 表达式1表达式2…case后面的表达式如果是常量值字面量则要求不能重复switch后面可以不带表达式类似 if else 分支来使用。Switch后也可以直接声明、定义一个变量分号结束不推荐switch 穿透 fallthrough如果在case语句块后增加 fallthrough则会继续执行下一个case也叫switch穿透。Type Swtichswtich语句还可以被用于type-switch 来判断某个interface 变量中实际指向的变量类型
2.2 switch 和if 的比较
如果判断的具体数量不多而且符合整数、浮点数、字符、字符串这几种类型。建议使用swtich语句简洁高效其他情况对区间判断 和结果为bool类型的判断使用ifif的使用范围更广。
三、for循环
将一个循环放在另一个循环体内就形成了嵌套循环。在外边的 for 称为外层循环在里面的 for循环称为内层循环。【建议一般使用两层最多不要超过 3 层】实质上嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为 jalse时才会完全跳出内层循环才可结束外层的当次循环开始下一次的循环。外层循环次数为 m 次内层为 n 次则内层循环体实际上需要执行 m*n 次
3.1 语法格式
for 循环变量初始化循环条件循环变量迭代{循环操作(语句)
}对上面的语法格式说明
for循环四要素
循环变量的初始化循环条件循环操作也就是循环体循环变量迭代。
细节
循环条件是返回一个布尔值的表达式for循环的第二种使用方式
for 循环判断条件{ // 循环语句 }
循环的第三种方式。 for { // 循环语句 }
写法等价于 for ; ; {} 。是一个无限循环通常需要配合 break语句使用。
golang 提供了 for-range的方式可以方便遍历字符串和数组。
// 传统方式
var star string abcdedfg
for i :0; i len(str); i {fmt.printf(%c \n,str[i]) // 使用坐标
}// 使用 for - range方式var str string abcdefgfor index, val : range str {fmt.Printf(index %d,val%c \n, index, val)}
// 其中“index”获取字符串的下标然后通过下标获取字符后交给val。进行打印/*index 0,valaindex 1,valbindex 2,valcindex 3,valdindex 4,valeindex 5,valfindex 6,valg*/// 其实index和val就是定义的变量名for i, v : range str {fmt.Printf(index %d,val%c \n, i, v)}四、break和continue跳转控制语句
两者区别
break跳出循环。contunue结束本次循环继续执行下一次循环。