【if】
if 是用于测试某个条件的语句,如果该条件(逻辑型或布尔型)成立,则会执行大括号内的代码,第一个大括号必须和if 或者else同行,否则非法
 // 方式1
if condition {
//do something
}
// 方式2
if condition {
// do something
}else{
// do something
}
// 方式3
if condition1 {
// do something
} else if condition2 {
// do something else
} else {
// default
}
// 方式4
if initialization; condition{
// do something
}
if _,ok := f1();ok{
f2()
}
else-if 的嵌套不受次数限制,若有多个,建议将可能性大的放在前面
在方式4中的初始化语句中,建议声明变量,避免变量作用域带来的问题
 
【switch】
 // 方式1  变量值的匹配
switch var1 {
case val1:
...
case val2:
...
default:
...
}
switch i{
case 10:
f1()
case 20:
f2()
defaul:
f3()
} // 方式2 变量判断类似if
switch {
case condition1:
...
case condition2:
...
default:
...
}
switch{
case i<10:
f1()
case i>10:
f2()
defalt:
f3()
}
// 方式3 包含变量声明初始化
switch initialization {
case val1:
...
case val2:
...
default:
...
}
switch result := calculate();{
case result > 0:
f1()
case result < 0:
f2()
default:
f3()
}
备注:
    Go中的switch不需要break来跳出,自动会跳出控制,如果想不跳出控制的话,就在case后面添加fallthrough,这样就会自动执行这个case后面的case【case i>0:fallthrough】
 
 
【for】
 //for 初始化语句;条件语句;修饰语句{}
for i := 0;i < 10; i++{
fmt.Println(i)
}
// for 条件语句{}
i := 0
for i<100{
fmt.Println(i)
i++
}
// for ix,val := range coll{}
for key,val := range str{
fmt.Printf("index: %d value: %s",key,val)
}
 
 
【标签与goto】(在程序设计中不建议使用,这个在C中被诟病很久,但是Go语言的设计者为什么...)
标签的名称大小写敏感,为了提高可读性,建议使用大写字母
 page main

 func main(){
i := 0
HERE:
fmt.Println(i)
i++
if i == 5{
return
}
goto HERE
}
 
标签定义了要使用,和变量是一样的,这是Go语言的原则之一,程序中不允许出现不使用的代码。
 
 学习参考处:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md

Go笔记-流程控制的更多相关文章

  1. JavaScript学习笔记——流程控制

    javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分 ...

  2. Go语言学习笔记-流程控制(二)

    Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...

  3. go学习笔记-流程控制(if/else,for/range)

    流程控制(if/else,for/range) if if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事. func testIf() { num := 10 if num &l ...

  4. python学习笔记---流程控制

    二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...

  5. golang笔记——流程控制

    条件语句 if ... else if ... else 语句,如: { fmt.Println(">100") } < num { fmt.Println(" ...

  6. Java学习笔记-流程控制

    在Java中,最常见的就是顺序结构,另外,还有其他的一些的结构,选择,循环等,这些程序结构的加入,使得程序代码更有选择性 判断结构 if语句 三种格式: if(条件表达式) { 执行语句; } if( ...

  7. C学习笔记-流程控制

    常用的流程图符号 起止框用于表示流程的开始或结束: 输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容: 判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后 ...

  8. 初学swift笔记 流程控制(五)

    import Foundation ; i<=; i++ { println(i) } let str1="adl;fjasdfl;ouewrouqwperuadf" for ...

  9. Java学习笔记之:Java流程控制

    一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...

随机推荐

  1. AtCoder Regular Contest 078

    我好菜啊,ARC注定出不了F系列.要是出了说不定就橙了. C - Splitting Pile 题意:把序列分成左右两部分,使得两边和之差最小. #include<cstdio> #inc ...

  2. 洛谷 P1308 统计单词数【字符串+模拟】

    P1308 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定 ...

  3. BZOJ 1041: [HAOI2008]圆上的整点【数论,解方程】

    1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4210  Solved: 1908[Submit][Sta ...

  4. [ZOJ3213] Beautiful Meadow

    插头DP...网格图,有障碍,格子上有权值,求总权值最大的简单路径. 因为路径的起始点不确定..所以多开一维表示当前已经有多少个独立插头.. 只要不合并相同的联通块,并且已经用了2个独立插头,那就是一 ...

  5. Codeforces Round #300(Div. 2)-538A.str.substr 538B.不会 538C.不会 。。。

    A. Cutting Banner time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  6. 一 : springmvc常用注解

    springmvc常用注解详解1.@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层 ...

  7. Python scrapy------分类获取美团整站数据

    欢迎联系讨论:qq:1170370113 以下是我们获取美团页面的城市信息 获取到了城市信息以后我们可以进行分类保存,以便于后续能够分类获取数据 获取我们需要城市的景区的所有相关id并且进行保存 最后 ...

  8. solrcloud(solr集群版)安装与配置

    1 Solr集群 1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的 ...

  9. zookeeper部署和运行

    环境准备: 操作系统,此处使用windows系统 Java运行环境,JDK1.6以上 下载对应操作系统zookeeper安装包zookeeper-x.x.x.tar.gz,下载地址:http://zo ...

  10. How to find missing USB Records?

    In my previously article "EnCase missed some USB activities in the evidence files", I ment ...