Go的100天之旅-07条件和循环
条件语句
Go
的条件语句和其它语言类似,主要是不支持三目运算符所以?:
这种条件判断是不支持的。Go
提供的条件判断语句主要有 if
还有 switch
这两种形式下面是
if
条件语句
if
的几种写法,基本上和其它语言是一致的
if 条件 {
} else {
}
if 条件 {
} else if 条件 {
} else {
}
switch
条件语句
switch
和其它语言类似,都是类似下面的写法:
switch var1 {
case val1:
...
case val2:
...
default:
...
}
有几点差异的地方是,默认不需要break
,case
被匹配上了之后,就会进入分支,后面的case
都不会匹配和执行。但是fallthrough
可以强制执行下一条case
,例如下面的代码:
package main
func main() {
var a bool = true
switch a {
case true:
println("case true 1")
fallthrough
case false:
println("case false 2")
case true:
println("case true 3")
}
}
输出为:
case true 1
case false 2
case
后面可以是任何类型的变量,常量,或者表达式,但是case
之间的类型必须保存一致。
循环语句
Go
是没有while
的,它提供了两种可以进行循环的操作for
和goto
。
for
循环
for
的操作主要如下:
for 初始化;条件;执行 {
}
for 条件 {
}
for {
} //无限循环,可以通过break跳出
for
可以通过continue
执行下条循环,也可以break
跳出循环。和其它语言for
还有一个差异就是for range
可以对数组 Slice Map
进行遍历:
package main
func main() {
a := [...]int{1, 2, 3}
for i, v := range a {
println(i, v)
}
}
//输出
0 1
1 2
2 3
这里i
等于值v
在数组中的下标。
goto
语句
Go
把goto
保留了下来,它不仅仅用于循环,可以跳转到一段有标签的代码块goto label
。
下面是一个简单的使用:
package main
func main() {
var a int = 0
loop:
if a < 5 {
a++
println(a)
goto loop
}
}
输出:
1
2
3
4
5
goto
是一个比较有争议的操作,反对使用它的人认为它会让代码逻辑变得复杂,代码的可读性降低。支持的人认为它可以使用灵活,更加容易扩展,比如出现了异常或者需要统一处理逻辑,可以用goto
直接进行跳转。
Go的100天之旅-07条件和循环的更多相关文章
- Python基础__Python语法基础、条件、循环
之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...
- Python基础(6)--条件、循环
本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...
- Beginning Python From Novice to Professional (5) - 条件与循环
条件与循环 条件运行: name = raw_input('What is your name? ') if name.endswith('Gumby'): print 'Hello, Mr.Gumb ...
- JavaScript基本语法 -- 条件语句 & 循环语句
条件语句 条件语句(Conditional statement)是JavaScript里面的基本结构之一,程序根据表达式的真假决定执行或者跳过某个分支,于是,条件语句有时候也可以称为"分支语 ...
- 【python学习笔记】5.条件、循环和其他语句
[python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块 impo ...
- 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】
1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...
- python学习(五) 条件、循环和其他语句
第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45) // 可以用逗号隔开 ...
- python系列八:Python3条件控制&循环语句
#!/usr/bin/python #-*-coding:gbk-*-#Python3 条件控制&循环语句import randomage = int(input("请输入你的年龄: ...
- js基础(条件语句 循环语句)
条件语句 if语句块的语法形式如下: //只有两种情况下if(条件){要执行的语句块;}else{要执行的语句块;} //多种情况下if(条件){要执行的语句块;}else if(条件){要执行的语句 ...
随机推荐
- c++无法解析的外部符号 "int const bufferSize
无法解析的外部符号 "int const bufferSize 严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2001 无法解析的外部符号 "int const bu ...
- java面试必备知识点-上中下三篇写的很详细
参考博客:写的还是相当的经典 http://www.cnblogs.com/absfree/p/5568849.html 上中下三篇写的很详细 http://blog.csdn.net/riverfl ...
- Idea 可用激活方式
链接:https://pan.baidu.com/s/14ljbzMJ6uF9zKcQ575ftFA 提取码:yd54
- 硬件对同步的支持-TAS和CAS指令
目录 Test and Set Compare and Swap 使用CAS实现线程安全的数据结构. 现在主流的多处理器架构都在硬件水平上提供了对并发同步的支持. 今天我们讨论两个很重要的硬件同步指令 ...
- 计算机网络之ARP协议
ARP ARP(Address Resolution Protocol),即地址解析协议,是根据IP地址解析物理地址的一个TCP/IP协议.主机将包含目标IP地址信息的ARP请求广播到网络中的所有主机 ...
- Flask-install-python2.6
命令: # 安装virtualenv $ sudo yum install python-setuptools $ sudo easy_install virtualenv OR sudo pip i ...
- python基础知识扩展(一)
python课外笔记 1.print函数 print("helloworld")其实系统默认隐藏了一个参数end,完整的print()语句是 print("hellowo ...
- abp审计日志功能的关闭
参考官网介绍:https://aspnetboilerplate.com/Pages/Documents/Audit-Logging
- POJ 3977 题解
题目 Given a list of N integers with absolute values no larger than \(10^{15}\), find a non empty subs ...
- 学习记录 | 文件收集-Php
宝贝推荐 推荐新手使用phpStudy这个建站,太方便了 实验初衷 大学什么事情都多,所以什么事情都要偷一下懒,大学总有收不完的青年大学习,我就想能不能来个自助收集然后捣鼓,捣鼓就有了简单的收集程序. ...