【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. Linux /bin, /sbin, /usr/bin, /usr/sbin 区别

    在linux下我们经常用到的四个应用程序的目录是:/bin./sbin./usr/bin./usr/sbin    bin:  bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp ...

  2. 【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码

    [CC2530入门教程-增强版]基础技能综合实训案例(基础版)-上位机源码 广东职业技术学院  欧浩源 一.需求分析 按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体 ...

  3. mysql按照天统计报表,当天没有数据,填0

    1.问题复现: 按照天数统计每天的总数,如果其中有几天没有数据,那么group by 返回会忽略那几天,如何填充0?如下图,统计的10-3~10-10 7天的数据,其中只有8号和10号有数据,这样返回 ...

  4. javaIO详解、包含文件以及流操作

    1.File 文件操作 java.io.File用来表示文件或者目录.只能用来表示文件或者目录的大小名称等信息,而无法完成对文件内容的CRUD. 1.1构造方法 有四种,当然基本都是根据文件的路径或者 ...

  5. 记node前后端代码共用的一次坑

    项目背景 nodejs项目,webpack打包,用axios请求,Promise封装,nunjucks模板引擎: 之前已将nunjucks模板通过webpack打包策略,做成前后端共用: 目前需要将网 ...

  6. JSP基础:JSP指令、JSP注释、JSP脚本、JSP声明、JSP表达式

    JSP指令分为:page指令.include指令.taglib指令. page指令:通常位于JSP页面的顶端,同一个页面可以有多个页面指令. 语法:<%@ page language=" ...

  7. NGINX 配置404错误页面转向

    什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是 ...

  8. [SinGuLaRiTy] 复习模板-高精度模板

    [SinGuLaRiTy-1042] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 结构体封装 //高精度运算 注意%I64d与%lld # ...

  9. 【开发技术】java中代码检查checkStyle结果分析

    编写Javadoc代码在Java代码的类.函数.数据成员前中输入/**回车,Eclipse能够自动生成相应的Javadoc代码.可以在后面添加相关的文字说明. Type is missing a ja ...

  10. Servlet基础(工作原理、生命周期)

    (一)Servlet开发与配置 1.1 开发步骤 1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行! 配置信息: ...