if  else 结构:

#第一种
if condition {
// do something
}
#第二种
if condition {
// do something
} else {
// do something
}
#第三种
if condition1 {
// do something
} else if condition2 {
// do something else
}else {
// catch-all or default
}
#注意大括号的位置,都是固定的
if在condition 中还可以加上赋值语句

if val := 10; val > max {
 // do something
 }

switch 结构

#第一种
switch var1 {
case val1:
...
case val2:
...
default:
...
}
#第二种
switch {
case i < 0:
f1()
case i == 0:
f2()
case i > 0:
f3()
} #第三种 switch result := calculate(); {
case result < 0:
...
case result > 0:
...
default:
// 0
}

for 循环

#第一种
for i:=0; i<5; i++ {
for j:=0; j<10; j++ {
println(j)
}
}
#第二种
for a < b {
a++
fmt.Printf("a 的值为: %d\n", a)
}
# 类似其他语言for和while
无限循环
for true {} 或者for {} 这种内部需要有条件判断来退出循环

for range 结构

这是 Go 特有的一种的迭代结构,您会发现它在许多情况下都非常有用。它可以迭代任何一个集合(包括数组和 map,详见第 7 和 8 章)。语法上很类似其它语言中 foreach 语句,但您依旧可以获得每次迭代所对应的索引。一般形式为: for ix, val := range coll { }  。要注意的是, val  始终为集合中对应索引的值拷贝,因此它一般只具有只读性质,对它所做的任何修改都不会影响到集合中原有的值(译者注:如果  val  为指针,则会产生指针的拷贝,依旧可以修改集合中的原值)

func main() {
s :="hello world"
for in,va := range s{
fmt.Print(in,va,"\n")
}
} #va 索引值的拷贝
0 104
1 101
2 108
3 108
4 111
5 32
6 119
7 111
8 114
9 108
10 100

关键字fallthrough

在switch语句中,如果一个case语句后面加了fallthrough那么会直接执行下一个case里面的内容

func main() {
switch Num:=;{
case <= Num && Num <= :
fmt.Printf("0-3")
fallthrough
case <= Num && Num <= :
fmt.Printf("4-6")
case <= Num && Num <= :
fmt.Printf("7-9")
}
}
--

go 语言结构控制的更多相关文章

  1. 04. Go 语言流程控制

    Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...

  2. 实验七 MySQL语言结构

    实验七 MySQL语言结构 一.  实验内容: 1. 常量的使用 2. 变量的使用 3. 运算符的使用 4. 系统函数的使用 二.  实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为 ...

  3. 漫谈C语言结构体struct、公用体union空间占用

    先用代码说话: #include<stdio.h> union union_data0{ int a ;//本身占用4个字节 char b ;//本身占用1个字节 int c ; }; u ...

  4. 解析C语言结构体对齐(内存对齐问题)

    C语言结构体对齐也是老生常谈的话题了.基本上是面试题的必考题.内容虽然很基础,但一不小心就会弄错.写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的 ...

  5. 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符

    [源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...

  6. (转)PHP的语言结构和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...

  7. php入门 数据类型 运算符 语言结构语句 函数 类与面向对象

    php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...

  8. Go语言结构体(struct)

    Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型. 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合. 结构体表示一项记录,比如保存图 ...

  9. C语言结构体定义的几种方法

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...

随机推荐

  1. nginx各版本全自动编译安装脚本

    #!/bin/bash #作者:星云法师(头条号:西西图图---专注美食领域的研究) #环境:centos7,如果是其它的系统可以相应做调整.#--------选择安装方式,网络晚装还是本地安装--- ...

  2. ORACLE数据字典DBA视图

    select  *  from  DBA_ALL_TABLES   --显示数据库中所有表的描述 select  *  from  DBA_CATALOG  --列出所有数据库标,视图,同义词和序列 ...

  3. springcloud费话之Eureka集群

    目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...

  4. Word里的红色、绿色和蓝色波浪线

    有时候我们写完文章会发现,有的地方有红色波浪线,有的地方有绿色/蓝色二重线,那么这两种线各代表什么意思呢?其实红色波浪线代表此处存在拼写错误,绿色/蓝色波浪线代表此处可能有语法错误.如果你不希望Wor ...

  5. categorical_crossentropy VS. sparse_categorical_crossentropy

    From:https://jovianlin.io/cat-crossentropy-vs-sparse-cat-crossentropy/ categorical_crossentropy 和 sp ...

  6. 前端学习(三十五)模块化es6(笔记)

    RequireJs:一.安装.下载    官网: requirejs.org    Npm:  npm i requirejs二.使用    以前的开发方式的问题:        1).js 是阻塞加 ...

  7. hibernate配置注意事项

    1:多对一配置 private Set<DrawRecordModel> cjrecordsSet = new HashSet<DrawRecordModel>(); 正确 p ...

  8. Celery与Django的结合

    一.什么是Celery Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以实现任务的异步处理以及定时任务的处理,它的基本工作流程是: 先启动任务执行单元Worker,让它一 ...

  9. 【串线篇】Mybatis拓展之MBG

    MBG-逆向工程 一.介绍 MBG:MyBatis Generator:代码生成器: MyBatis官方提供的代码生成器:帮我们逆向生成: 正向: table----javaBean---BookDa ...

  10. idea中创建.xml文件或别的文件