概述
本文介绍SpringBoot相关内容。和【跨考菌】一起加油吧~
如果你有收获,记得帮博主一键三连哦????
在程序中, 程序运行的流程控制决定程序是如何执行的, 是我们必须掌握的, 主要有三大流程控制语句。
- 顺序控制
- 分支控制
- 循环控制
1 顺序控制
程序从上到下逐行地执行, 中间没有任何判断和跳转。
顺序控制比较简单,没啥需要说的。
2 分支控制
分支控制就是让程序有选择执行。 有下面三种形式
- 单分支
- 双分支
- 多分支
2.1 单分支
注意,这里可以不要括号把条件包裹起来。
单分支细节
在golang的if中,可以直接定义一个变量。例如:
2.2 双分支控制
2.2.1 注意事项
- 多分支控制时,if-else都必须有{}
- else不能换行
- if中的条件,建议不要括号
2.3 多分支控制
2.3.1 案例一:计算一元二次方程的解
3 switch分支控制
3.1 switch介绍
- switch 语句用于基于不同条件执行不同动作, 每一个 case 分支都是唯一的, 从上到下逐一测试, 直到匹配为止。
- 匹配项后面也不需要再加 break
语法
对上图的说明和总结
- switch 的执行的流程是, 先执行表达式, 得到值, 然后和 case 的表达式进行比较, 如果相等,
就匹配到, 然后执行对应的 case 的语句块, 然后退出 switch 控制。(不需要自己手动添加break) - 如果 switch 的表达式的值没有和任何的 case 的表达式匹配成功, 则执行 default 的语句块。 执行
后退出 switch 的控制. - golang 的 case 后的表达式可以有多个, 使用 逗号 间隔.
- golang 中的 case 语句块不需要写 break , 因为默认会有,即在默认情况下, 当程序执行完 case 语
句块后, 就直接退出该 switch 控制结构。
3.2 简单案例
3.3 switch 的使用的注意事项和细节
- case/switch 后是一个表达式( 即: 常量值、 变量、 一个有返回值的函数等都可以)
- case 后的各个表达式的值的数据类型, 必须和 switch 的表达式数据类型一致
- case 后面可以带多个表达式, 使用逗号间隔。 比如 case 表达式 1, 表达式 2 …
- case 后面的表达式如果是常量值(字面量), 则要求不能重复
- case 后面不需要带 break , 程序匹配到一个 case 后就会执行对应的代码块, 然后退出 switch, 如果一个都匹配不到, 则执行 default
- default 语句不是必须的.
- switch 后也可以不带表达式, 类似 if --else 分支来使用。 【案例演示】
- switch 后也可以直接声明/定义一个变量, 分号结束, 不推荐。 【案例演示】
- switch 穿透-fallthrough , 如果在 case 语句块后增加 fallthrough ,则会继续执行下一个 case, 也叫 switch 穿透
- Type Switch: switch 语句还可以被用于 type-switch 来判断某个 interface 变量中实际指向的
变量类型 【还没有学 interface, 先体验一把】
4 for循环控制
4.1 语法格式
格式1
格式2
格式3
格式4
Golang 提供 for-range 的方式, 可以方便遍历字符串和数组(注: 数组的遍历, 我们放到讲数组的时候再讲解) , 案例说明如何遍历字符串。
字符串遍历方式1-传统方式
字符串遍历方式 2-for - range
4.2 细节讨论
如果我们的字符串含有中文, 那么传统的遍历字符串方式, 就是错误, 会出现乱码。 原因是传统的对字符串的遍历是按照字节来遍历, 而一个汉字在 utf8 编码是对应 3 个字节。
如何解决 需要要将 str 转成 []rune 切片.=> 体验一把
对应 for-range 遍历方式而言, 是按照字符方式遍历。 因此如果有字符串有中文, 也是 ok
Go 语言没有 while 和 do…while 语法, 这一点需要注意一下, 如果我们需要使用类似其它语言(比如 java / c 的 while 和 do…while ), 可以通过 for 循环来实现其使用效果。
5 控制跳转break和continue
5.1 break
break 语句用于终止某个语句块的执行, 用于中断当前 for 循环或跳出 switch 语句。
使用细节
- break 语句出现在多层嵌套的语句块中时, 可以通过标签指明要终止的是哪一层语句块
- 看一个案例
- 对上面案例的说明
(1) break 默认会跳出最近的 for 循环
(2) break 后面可以指定标签, 跳出标签对应的 for 循环
使用案例
随机生成1-100的一个数,直到生成了99这个数,看看你一共用了几次。
golang中获取随机数的知识
我们为了生成一个随机数,还需要个rand设置一个种子.
time.Now().Unix() : 返回一个从1970:01:01 的0时0分0秒到现在的秒数
rand.Seed(time.Now().Unix())
如何随机的生成1-100整数
n := rand.Intn(100) + 1 // [1 101)
代码实现:
var count int = 0
for {
rand.Seed(time.Now().UnixNano())
n := rand.Intn(100) + 1
fmt.Println("n=", n)
count++
if (n == 99) {
break //表示跳出for循环
}
}
fmt.Println("生成 99 一共使用了 ", count)
5.2 continue
continue 语句用于结束本次循环, 继续执行下一次循环。
continue 语句出现在多层嵌套的循环语句体中时, 可以通过标签指明要跳过的是哪一层循环 , 这个和前面的 break 标签的使用的规则一样。
简单案例
5.3 控制跳转语句-goto
goto介绍
- Go 语言的 goto 语句可以无条件地转移到程序中指定的行。
- goto 语句通常与条件语句配合使用。 可用来实现条件转移, 跳出循环体等功能。
- 在 Go 程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱, 使理解和调试程序
都产生困难。
语法介绍
简单案例
最后
以上就是称心大碗为你收集整理的【golang学习总结】6 golang流程控制1 顺序控制2 分支控制3 switch分支控制4 for循环控制5 控制跳转break和continue的全部内容,希望文章能够帮你解决【golang学习总结】6 golang流程控制1 顺序控制2 分支控制3 switch分支控制4 for循环控制5 控制跳转break和continue所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复