Go (或Golang )是Google 在2007 年开发的一种开源编程语言,出自Robert Griesemer 、Rob Pike 和Ken Thompson 之手。2009 年11 月10 日, Google Open Source Blog 向全球发布了这款语言:公告指出Go 的主要目标是“兼具Python 等动态语句的开发速度和C 或C ++等编译型语言的性能与安全性”。

1. switch

switch语句可以多分支条件执行。自上而下顺序执行每条case语句中的表达式,执行表达式结果相同的case语句,则后续的case语句会被忽略,当case语句都不匹配时,则执行default兜底。

switch 语句可用来替代冗长的if else,switch可以让代码看起来更加的易于阅读,性能也较if else更好。

网上找到了一个流程图,很不错,借鉴一下。

举个例子:

7行:定义了一个需要评估的变量s;

9、11、13行case语句指定了需要与变量s比较的表达式;

如果表达式成立,则执行相应的语句;

如果表达式都不成立,则执行default后的语句。

需要注意的是,case是顺序自上至下执行的。

Default也可以理解为兜底执行。

2. for语句

for是一种循环控制结构,在go语言中,for有3种形式,for反复执行代码块,直到发现条件不再满足循环条件为止。

Go中,循环控制只有for一种,没有foreach、while等。

我们做一个1到10的求和。

6行:定义了变量n初始值为0;

7行:for循环,变量i初始值为1,判断变量i小于等于10,i++也就是i = i +1,也就是说每次变量i自加1次。

8行:n += i 也就是n = n +1。

当变量i小于10时,循环终止,跳出循环。

上面的代码也可以换一种写法

可以看到,虽然代码不是太一样,但是执行结果是完全一样的。

当然还可以用第3种写法

7行:声明变量its,类型为整形数组,其中包含1到10的数字

8行:for语句的迭代变量i用来放数组循环过程中的值,直到循环结束。

这种写法看起来更麻烦了,其实不然,这种写法用的也是更为广泛的一种。For range写法通常不需要直到数组的长度,更适合遍历大多数数据结构。

3. defer语句

Defer是一个非常有用的功能,它通常在执行清理操作时或确保操作完成后再执行defer跟着的函数。

我们还是先举个例子,这个例子可以计算1到1000相加的和。

16行:defer fmt.Println("end")在程序最后执行了。

思考一下,如果顺序有多个defer,那么执行顺序是什么呢?

思考3秒钟,考虑下执行结果。

5

4

3

2

1

执行结果如下:

和你想的一样吗?

可以看到,先写的defer是最后执行的,而最后写的defer是优先执行的。

Go语言编程从入门到精通,流程控制之switch、for、defer相关推荐

  1. c语言编程从入门到精通+pdf下载,编程大讲坛 C语言核心开发技术从入门到精通 陈强 pdf扫描版...

    编程大讲坛 C语言核心开发技术从入门到精通由浅入深地讲解了c语言开发技术,以遵循科学合理的学习计划为主线,通过典型实例来讲解其具体使用.全书内容分为20课,其中第1-8课依次讲解了c语言概述.c语言算 ...

  2. c语言从入门到精通 当当,51单片机C语言编程从入门到精通

    本书立足于单片机的各类型应用技术,采用大量实例和程序逐行解说的方式,详细介绍51单片机和C语言编程开发与应用技术. 内容特点: 1 立足于单片机工程应用:由浅入深,结合丰富的开发实例,介绍51单片机C ...

  3. Go语言编程从入门到精通,WEB服务,路由、响应、报头、GET、POST

    Go标准库中的net/http提供了http服务器的方法. 从写一个最基本的HTTP服务器示例开始学习. 代码解析: 3行:import "net/http",导入net/http ...

  4. python语言入门pdf-Python编程从入门到精通.pdf

    作 者 :叶维忠 出版发行 : 北京:人民邮电出版社 , 2018.11 ISBN号 :978-7-115-47880-1 页 数 : 429 原书定价 : 79.00 主题词 : 软件工具-程序设计 ...

  5. python编程从入门到精通 叶维忠 pdf-零基础如何学习python?十本精品python书籍推荐...

    你想要学习python编程,却不知道该看哪本书?今天小编精选了学习python的十本精品书籍,并且还编写了推荐理由分享给你,希望可以给有选择困难症的同学一点帮助! 1.<"笨办法学&q ...

  6. python编程从入门到精通 叶维忠 pdf-叶维忠《Python编程从入门到精通》PDF

    叶维忠<Python编程从入门到精通>PDF 首页 > 计算机类 字号:小 中 大 评论:0 条 评论:0 条 Python编程从入门到精通 作 者 :叶维忠编著 出版发行 : 北京 ...

  7. python编程从入门到精通pdf-Python编程从入门到精通.pdf

    作 者 :叶维忠 出版发行 : 北京:人民邮电出版社 , 2018.11 ISBN号 :978-7-115-47880-1 页 数 : 429 原书定价 : 79.00 主题词 : 软件工具-程序设计 ...

  8. python编程入门 pdf-Python编程从入门到精通.pdf

    作 者 :叶维忠 出版发行 : 北京:人民邮电出版社 , 2018.11 ISBN号 :978-7-115-47880-1 页 数 : 429 原书定价 : 79.00 主题词 : 软件工具-程序设计 ...

  9. python编程从入门到精通pdf-终于晓得python编程从入门到精通

    虽然在编程语言的热度榜上,还是java排行第一,但是python却是最近2年上升最快的,越来越多人都开始选择实用python了,原因很简单,语法语句简约,开发效率高.以下是小编为你整理的python编 ...

最新文章

  1. linux死锁检测的一种思路【转】
  2. 通用双谐振固态特斯拉驱动器 UD2.7
  3. 为啥看恐怖片老是忘不掉?最新研究:恐惧记忆的形成方式更利于稳定存储
  4. 实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)
  5. oracle 数据操作的相关参数
  6. 吴恩达《卷积神经网络》
  7. 10月25日-10月29日一周宣讲会安排
  8. android view分析工具栏,如何在Android工具栏中使用SearchView
  9. 竖屏java转横屏_Android屏幕旋转之横屏竖屏切换的实现
  10. MTK6577+Android之Camera驱动
  11. 什么是服务降级和熔断(网络白话摘要)
  12. Mac电脑程序无响应怎么办?mac强制关闭软件的6种方法
  13. 饮料如何畅销市场?看农夫山泉如何玩转营销
  14. Hadoop启停服务命令大全
  15. 个人文件转移工具 v1.9.0.2107 系统目录迁移工具
  16. 跟叶子学把妹——教程序猿把妹第二集
  17. 解决连通性问题的利器:并查集
  18. 数据库系统概论第五版_第四章:数据库安全性
  19. 作为一名开发者,这个七夕你(打算)怎么过?
  20. vxWorks延时函数

热门文章

  1. 学生表 成绩表 课程表 教师表
  2. 未转变者DLC皮肤在服务器,未转变者 steam上 最新的版本 肿么联机?肿么创建房间...
  3. 2D游戏中的地图创造
  4. deb 中标麒麟_中标麒麟6安装google chrome浏览器遇到的问题及解决
  5. OpenVINO环境搭建
  6. Android网络通信(HttpURLConnection)和 数据传输格式(JSON)
  7. 测试人生 | 从外行到外包,从手工测试到知名互联大厂测开 这个90后是怎么腾飞的?
  8. 用Defraggler打造自己的免费自动磁盘整理工具
  9. Vue - webpack 打包兼容 360 浏览器和 IE 浏览器
  10. 2021-11-20U盘写入Ubuntu镜像中断后,U盘无法格式化