条件语句

Go的条件语句和其它语言类似,主要是不支持三目运算符所以?:这种条件判断是不支持的。Go提供的条件判断语句主要有 if 还有 switch这两种形式下面是

if条件语句

if的几种写法,基本上和其它语言是一致的

if 条件 {

} else {

}

if 条件 {

} else if 条件 {

} else {

}

switch条件语句

switch和其它语言类似,都是类似下面的写法:

switch var1 {
case val1:
...
case val2:
...
default:
...
}

有几点差异的地方是,默认不需要breakcase被匹配上了之后,就会进入分支,后面的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的,它提供了两种可以进行循环的操作forgoto

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语句

Gogoto保留了下来,它不仅仅用于循环,可以跳转到一段有标签的代码块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条件和循环的更多相关文章

  1. Python基础__Python语法基础、条件、循环

    之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...

  2. Python基础(6)--条件、循环

    本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...

  3. Beginning Python From Novice to Professional (5) - 条件与循环

    条件与循环 条件运行: name = raw_input('What is your name? ') if name.endswith('Gumby'): print 'Hello, Mr.Gumb ...

  4. JavaScript基本语法 -- 条件语句 & 循环语句

    条件语句 条件语句(Conditional statement)是JavaScript里面的基本结构之一,程序根据表达式的真假决定执行或者跳过某个分支,于是,条件语句有时候也可以称为"分支语 ...

  5. 【python学习笔记】5.条件、循环和其他语句

    [python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块     impo ...

  6. 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】

    1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...

  7. python学习(五) 条件、循环和其他语句

    第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45)         // 可以用逗号隔开 ...

  8. python系列八:Python3条件控制&循环语句

    #!/usr/bin/python #-*-coding:gbk-*-#Python3 条件控制&循环语句import randomage = int(input("请输入你的年龄: ...

  9. js基础(条件语句 循环语句)

    条件语句 if语句块的语法形式如下: //只有两种情况下if(条件){要执行的语句块;}else{要执行的语句块;} //多种情况下if(条件){要执行的语句块;}else if(条件){要执行的语句 ...

随机推荐

  1. c++无法解析的外部符号 "int const bufferSize

    无法解析的外部符号 "int const bufferSize 严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2001 无法解析的外部符号 "int const bu ...

  2. java面试必备知识点-上中下三篇写的很详细

    参考博客:写的还是相当的经典 http://www.cnblogs.com/absfree/p/5568849.html 上中下三篇写的很详细 http://blog.csdn.net/riverfl ...

  3. Idea 可用激活方式

    链接:https://pan.baidu.com/s/14ljbzMJ6uF9zKcQ575ftFA 提取码:yd54

  4. 硬件对同步的支持-TAS和CAS指令

    目录 Test and Set Compare and Swap 使用CAS实现线程安全的数据结构. 现在主流的多处理器架构都在硬件水平上提供了对并发同步的支持. 今天我们讨论两个很重要的硬件同步指令 ...

  5. 计算机网络之ARP协议

    ARP ARP(Address Resolution Protocol),即地址解析协议,是根据IP地址解析物理地址的一个TCP/IP协议.主机将包含目标IP地址信息的ARP请求广播到网络中的所有主机 ...

  6. Flask-install-python2.6

    命令: # 安装virtualenv $ sudo yum install python-setuptools $ sudo easy_install virtualenv OR sudo pip i ...

  7. python基础知识扩展(一)

    python课外笔记 1.print函数 print("helloworld")其实系统默认隐藏了一个参数end,完整的print()语句是 print("hellowo ...

  8. abp审计日志功能的关闭

    参考官网介绍:https://aspnetboilerplate.com/Pages/Documents/Audit-Logging

  9. POJ 3977 题解

    题目 Given a list of N integers with absolute values no larger than \(10^{15}\), find a non empty subs ...

  10. 学习记录 | 文件收集-Php

    宝贝推荐 推荐新手使用phpStudy这个建站,太方便了 实验初衷 大学什么事情都多,所以什么事情都要偷一下懒,大学总有收不完的青年大学习,我就想能不能来个自助收集然后捣鼓,捣鼓就有了简单的收集程序. ...