区块链技术语言:Go语言选择语句 | 十

栏目: Go · 发布时间: 6年前

内容简介:Go语言程序流程结构有三种:顺序结构,选择结构和循环结构。顺序结构的程序设计最简单,按照解决问题的顺序写出相应的语句,自上而下依次执行。选择结构用于判断给定的条件,根据判断的结果来控制程序的流程。循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。在Go语言中,构成选择结构的语句包括:条件语句if、switch语句和select语句。本节主要讲解条件语句if和switch语句,select语句需要结合通道channel的知识背景,在channel那一章节再做介绍。一、

Go语言程序流程结构有三种:顺序结构,选择结构和循环结构。顺序结构的程序设计最简单,按照解决问题的顺序写出相应的语句,自上而下依次执行。选择结构用于判断给定的条件,根据判断的结果来控制程序的流程。循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。

Go 语言中,构成选择结构的语句包括:条件语句if、switch语句和select语句。本节主要讲解条件语句if和switch语句,select语句需要结合通道channel的知识背景,在channel那一章节再做介绍。

一、 条件语句if

条件语句可以分为四类:if语句、if…else语句、if…else if…else语句、if嵌套语句。

1.1 if语句

if语句是最简单的条件语句,当布尔表达式为真时,执行大括号内部的代码,格式如下:

区块链技术语言:Go语言选择语句 | 十

注释:可以用作对正文的补充

在if语句里,赋值语句也可以放在关键词if之后、布尔表达式之前,并以分号相隔,示例如下:

区块链技术语言:Go语言选择语句 | 十

1.2 if···else 语句

布尔表达式为true时执行语句1,否则执行语句2,格式如下:

区块链技术语言:Go语言选择语句 | 十

示例如下:

区块链技术语言:Go语言选择语句 | 十

1.3 if···else  if···else 语句

当有多个分支结构时,可以采用if…else if…else语句。即当布尔表达式1为true时执行语句1,当布尔表达式1为false、布尔表达式2为true时执行语句2,当布尔表达式1和2均为false时执行语句3。格式如下:

区块链技术语言:Go语言选择语句 | 十

示例如下:

区块链技术语言:Go语言选择语句 | 十

1.4 if嵌套语句

if嵌套语句,即在选择结构内部也有一个选择结构。if嵌套语句可以有多种形式,前三种条件语句可以相互嵌套。现以最简单的if语句嵌套在if语句为例,格式如下:

区块链技术语言:Go语言选择语句 | 十

示例如下:

区块链技术语言:Go语言选择语句 | 十

二、 switch语句

switch语句,根据传入的条件的不同,执行不同的语句。

区块链技术语言:Go语言选择语句 | 十

注:a. switch语句从上至下执行,直到找到匹配项;

b. switch中的每一个case默认有break功能,匹配项之后的case条件不再关注;

c. case之后的条件可能有多个满足条件,使用逗号隔开,如:case s2,s3

d. 如果所有case条件都不满足,执行default语句;

e. 如果switch后面无表达式,则默认为true;

f. 当一个case之后带有语句fallthrough,则强制执行下一个case子句,不论下一个case条件是否满足;若fallthrough位于最后一个case子句中,则强制执行default语句。另外,fallthrough 语句应该是 case子句中的最后一个语句。如果它出现在 case 子句中间,编译器将会报错。

示例如下:

区块链技术语言:Go语言选择语句 | 十

参考资料

[1] 许式伟,吕桂华.Go语言编程[M].北京:人民邮电出版社,2012:38

文章声明:本文为火星财经专栏作者作品,版权归作者所有,不代表火星财经观点。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

MATLAB智能算法30个案例分析

MATLAB智能算法30个案例分析

史峰、王辉、胡斐、郁磊 / 北京航空航天大学出版社 / 2011-7-1 / 39.00元

MATLAB智能算法30个案例分析,ISBN:9787512403512,作者:史峰,王辉 等编著一起来看看 《MATLAB智能算法30个案例分析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具