条件语句

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. 有趣的条漫版 HashMap,25岁大爷都能看懂

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...

  2. mybatis读写分离

    mybatis读写分离实现方式有很多种,当然如果没有太过复杂的处理,可以使用阿里云数据库自带的读写分离连接,那样会更加简洁.本文主要对mybatis实现读写分离.主要的实现方式有一下四种: 方案1 通 ...

  3. new jup在新一代中存在

    1.灰度发布服务动态路由 动态配置路由规则,实现对调用流量的精确控制.可配置基于版本.IP.自定义标签等复杂的规则.2.服务鉴权示例2需求:服务 provider-demo 只允许来自 consume ...

  4. 基于 Angular Material 的 Data Grid 设计实现

    自 Extensions 组件库发布以来,Data Grid 成为了使用及咨询最多的组件.最开始 Data Grid 的设计非常简陋,经过一番重构,组件质量有了质的提升. Extensions 组件库 ...

  5. 关于 urlencode 的使用和 json 模块的介绍

    先附上一段 “百度翻译” 的爬虫代码 # python爬虫实现百度翻译 # urllib和request POST参数提交 from urllib import request,parse impor ...

  6. git和github入门指南(3.2)

    3.3.解决多人协作开发过程中的代码冲突问题 1.在多人协作开发的项目中,每次开发之前每个人最好先同步更新一下github上最新的代码,可以减少冲突的概率 git pull 2.产生冲突 目前咱们演示 ...

  7. 为什么 group by后面 必须跟selecte 后面的除了聚集函数外的所有字段

    如:SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name 可以而SELECT store_name, add ...

  8. JavaScript基础Javascript中的循环(003)

    1.普通循环JavaScript中一般的循环写法是这样的: // sub-optimal loop for (var i = 0; i < myarray.length; i++) { // d ...

  9. JavaScript基础Literal 与 Constructor(008)

    JavaScript支持以字面声名法(Literal)的方式来声名对象和数组,相对于构造函数(constructor)的方式,Literal的声 名方式更简洁,更易读,也更少导致Bug.事实上,JSO ...

  10. css3中样式计算属性calc()的使用和总结

    calc的介绍 在css3样式中有一个类似与函数的计算属性calc(),它主要用于指定元素的长度,无论是border.margin.pading.font-size和width等属性都可以使用calc ...