GO基础之流程控制语句
一、if分支语句
if 布尔表达式 1 {
/* 在布尔表达式 1 为 true 时执行 */
}
if a := ; a% == {
fmt.Println("偶数")
}
if 布尔表达式 1 {
/* 在布尔表达式 1 为 true 时执行 */
}else{
/* todo else */
}
if a := ; a% == {
fmt.Println("偶数")
} else {
fmt.Println("奇数")
}
if 布尔表达式 1 {
/* 在布尔表达式 1 为 true 时执行 */
}else if 布尔表达式 2{
/* 在布尔表达式 1 为 true 时执行 */
}else{ /* todo else */ }
func main() {
var b =
if b >= {
fmt.Println("优秀")
} else if b >= {
fmt.Println("良好")
} else {
fmt.Println("及格")
}
}
二、for循环语句
func main() {
//=======格式1===========
for i := ; i < ; i++ {
fmt.Println("i=", i)
}
//=======格式2===========
a :=
for ; a < ; a++ {
fmt.Println("a=", a)
}
//=======格式3(死循环)====
b :=
for {
if b == {
break
}
b--
fmt.Println("b=", b)
}
}
break 语句用于在完成正常执行之前,突然终止 for 循环。
func main() {
//=======格式1===========
for i := ; i < ; i++ {
if i >= {
break
}
fmt.Println("i=", i)
}
}
输出:i= 0;i= 1;i= 2;i= 3;i= 4
continue 语句用来跳出 for 循环中当前循环。在 continue 语句后的所有的 for 循环语句都不会在本次循环中执行。循环体会在一下次循环中继续执行。
func main() {
for i := ; i < ; i++ {
if i == {
continue
}
fmt.Println("i=", i)
}
}
输出:i= 0;i= 1;i= 2;i= 4
goto 语句类似 continue 终止当前循环,进入指定的位置(Loop)继续运行
func main() {
num :=
Loop:
for num < {
num++
if num% == {
goto Loop
}
fmt.Println("i=", num)
}
}
三、swich分支语句
go语言中的switch语句默认每个case 都有break,这与java语言略有不同
func main() {
//=========== 格式一 ===========
switch finger := ; finger {
case :
fmt.Println("")
case :
fmt.Println("")
case :
fmt.Println("")
default:
fmt.Println("")
}
//===========case后可以多个条件===========
letter := "i"
switch letter {
case "a", "e", "i", "o", "u": // 一个选项多个表达式
fmt.Println("hello")
default:
fmt.Println("word")
}
//在 switch 语句中,表达式是可选的,可以被省略。如果省略表达式,则表示这个 switch 语句等同于 switch true
num :=
switch { // 表达式被省略了
case num >= && num <= :
fmt.Println("num is greater than 0 and less than 50")
case num >= && num <= :
fmt.Println("num is greater than 51 and less than 100")
case num >= :
fmt.Println("num is greater than 100")
}
}
fallthrough语句:在 Go 中,每执行完一个 case 后,会从 switch 语句中跳出来,不再做后续 case 的判断和执行。使用 fallthrough 语句可以在已经执行完成的 case 之后,把控制权转移到下一个 case 的执行代码中。类似于java 中case之后不写break
func main() {
//=========== 格式一 ===========
switch finger := ; finger {
case :
fmt.Println("")
case :
fmt.Println("")
case :
fmt.Println("")
fallthrough
default:
fmt.Println("")
}
}
GO基础之流程控制语句的更多相关文章
- java基础3_流程控制语句
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
- 再回首,Java温故知新(九):Java基础之流程控制语句
流程控制语句分为条件语句.循环语句和中断语句. 中断语句包括break和continue,两者的区别在于break会跳出整个循环,而continue则是跳出此次循环,之后还会继续下一次循环. 条件语句 ...
- java基础,流程控制语句
流程控制语句 条件语句: if语句: *if(条件 boolean类型) ...
- JavaSE基础篇—流程控制语句
本章知识点分析: 流程控制语句 1.定义:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控 制方式采用结构化程序设计中规定的三种基本流程机构:顺序结 ...
- Java基础学习-流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...
- JavaScript基础之流程控制语句
第三部分:流程控制语句 JavaScript代码是书写位置: JavaScript代码应该写在<script type=”text/javascript”></script>这 ...
- python基础(二) —— 流程控制语句
编程语言中的流程控制语句分为以下几类: 顺序语句 分支语句 循环语句 其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明. 下面主要是 分支语句 和 循环语句的说明 ...
- java基础(5):流程控制语句(switch)、数组
1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...
- JS基础_流程控制语句
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Java基础语法—流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.所以,我们必须清楚每条语句的执行流程.而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能. 3.1 流程控制语句分类 ...
随机推荐
- Python3.7.4入门-3函数
3 函数 3.1 定义函数 def fib(n): # write Fibonacci series up to n """Print a Fibonacci serie ...
- Tomcat 报错 The APR based Apache Tomcat Native library which allows optimal performance in production environmen
这个问题在我一次重新装了tomcat和myeclipse时出现 说实话 出现这个问题头大 但是好在解决了 美滋滋 最开始到处寻找各种解决方案 最后直接注释了server.xml中的一行 直接解决这个报 ...
- 环境搭建-CentOS集群搭建
环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...
- Multiple types were found that match the controller named 'Auth'.
偶然的一个机会,修改了已经开发完毕的一个项目的命名.突然运行发现: { "Message": "An error has occurred.", "E ...
- Spring 梳理-@Controller
@Controller是一个构造性注解(stereotype),它基于@Component 在自动扫描中,组件扫描器会自动将@Controller申明的类注册为Spring应用上下文的一个bean 可 ...
- Spring MVC-从零开始-view-直接返回页面不传data
1.applicationContext配置 <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- GetThreadTimes获取其它线程cpu时间
http://www.cnblogs.com/eaglet/archive/2009/03/11/1408809.html 鄙视下上面的垃圾博文,纯粹忽悠人 参考文章: http://blog.kal ...
- asp.net core 使用Mysql和Dapper
序曲:学习编程最好的方式就是敲代码,没有比这个更好的方法,哪怕你看了上百G的视频,都不如你自己敲几行代码更为有效.还有要记得敲完代码然后写一篇随笔来记录一下你所学所想. 大家都知道,.netcore是 ...
- 架构——android架构演进概述
随着业务的发展和技术的变更,Android开发也经历了以下几个发展阶段: 看似高大上的名词,其实遵循着最简单的原则:分而治之(如何划分就是"架构",简单的事情如何串在一起就是&qu ...
- Windows Terminal 安装及美化
windows terminal 是今年微软Build大会上推出的一款的全新终端,用来代替cmder之类的第三方终端.具有亚克力透明.多标签.Unicode支持(中文,Emoji).自带等宽字体等这些 ...