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查看msf安装目录,linux系统安装msf的过程详解
  2. Raspberry Pi 4B 同步控制两个舵机 实现颜色跟踪
  3. 详解linux系列之sendmail邮箱服务的安装及配置
  4. pandas DataFrame 数据处理常用操作
  5. spring入门到放弃——spring事务管理
  6. 【转】火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版...
  7. 存储过程系列之存储过程sql数据库调用和程序代码调用
  8. cant find python executable_gyp ERR! stack Error: Can't find Python executable 'python'
  9. 助学贷款系统导入预申请时问题解决办法汇总
  10. 力度更大的当当购书优惠来了!实付满200-50!
  11. “计算机诺贝尔奖”的首位华人得主姚期智
  12. Python与Anaconda、Jupyter Notebook与Pycharm
  13. 关于鸿蒙系统 JS UI 框架源码的分析
  14. 【论文解读】NAACL 2021 对比自监督学习的上下文和一般句子表征:以篇章关系分析为例
  15. 海康威视2019校招
  16. 《kafka面试100例 -6》如果在/admin/delete_topics/中手动写入一个节点会不会正常删除Topic
  17. Python之禅 吾心笃定
  18. php数字运算符号,php运算符号
  19. Latex排版常用命令
  20. 网工必须了解的华为华三设备基础命令行与WEB界面

热门文章

  1. ATFX:美国9月PCE物价指数晚间发布,会出现意外吗?
  2. ps中usm锐化,智能锐化,像素化,分层云彩,光照效果,镜头光晕,纤维,云彩,减少杂色,蒙尘与划痕,祛斑,添加杂色,中间值
  3. hackinglab-脚本关5——逗比验证码第一期
  4. android五子棋源代码,Android五子棋游戏源码详解
  5. 开发日记 2017-02-06
  6. JavaSE基础(4) JAVA_HOME、PATH、CLASSPATH的作用
  7. linux 的常用命令(持续更新.....)
  8. ssh远程打开ubuntu的vino-server
  9. 在线文库源码php,在线文库网站 文档分享平台网站 在线文档 在线预览网站 源码...
  10. NAS群晖Docker安装odoo16社区版和企业版教程