Go语言学习笔记-流程控制(二)
Go语言流程控制
字典类型Map
1、上节遗留:map字典类型
- 变量声明:
var myMap map[string] PersonInfo - 其中,myMap是变量名,string是键的类型,PersonInfo是存放的值类型
2、创建map:make()
例子: `myMap = make(map([string] PersionInfo))`
3、创建并初始化:
`myMap = map[string] PersionInfo{
"1234": PersionInfo{"1","wkk"},
}`
4、map赋值:myMap["1234"] = PersonInfo{"1", "wkk"}
5、删除map元素:delete()函数删除
`delete(myMap, "1234")`
6、从map中查找某个元素:
`代码就是这个:
value, ok := myMap["1234"]
if ok{ //代表找到了value
//再做关于value的逻辑操作
...
}
`
流程控制
1、条件语句
关键字:if、else、else if
注意:在有返回值的函数中,不能把return语句放在if...else...结构中,否则编辑失败
2、选择语句
关键字:switch、case、和select(channel通道用)
注意点: 单个case中可以有多个值
每一个case后边不需要break来跳出当前case,后边的case也就不会再执行
在当前case中明确出现‘fallthrough’时,才会执行下一个紧跟的case
switch后可以不跟表达式,作用等同于if...else...
3、循环语句
关键字:for和range
注意:Go语言的循环只支持for
例子:
package main
import "fmt"
func main() {
sum := 0
for i :=0 ;i < 3; i++ {
sum += i;
}
fmt.Println( sum)
}
//运行时,进入当前目录,go run **.go
4、跳转语句
关键字:goto:跳转到某个标签处
例子:
func myFunc(){
i := 0
HERE:
fmt.PrintLn(i)
i++
if i <10 {
goto HERE //跳转到函数内的goto标签处
}
}
Go语言学习笔记-流程控制(二)的更多相关文章
- JavaScript学习笔记——流程控制
javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分 ...
- python学习笔记---流程控制
二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...
- go学习笔记-流程控制(if/else,for/range)
流程控制(if/else,for/range) if if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事. func testIf() { num := 10 if num &l ...
- Java学习笔记-流程控制
在Java中,最常见的就是顺序结构,另外,还有其他的一些的结构,选择,循环等,这些程序结构的加入,使得程序代码更有选择性 判断结构 if语句 三种格式: if(条件表达式) { 执行语句; } if( ...
- C学习笔记-流程控制
常用的流程图符号 起止框用于表示流程的开始或结束: 输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容: 判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后 ...
- R语言学习笔记(十二):零碎知识点(31-35)
31--round(),floor()和ceiling() round()四舍五入取整 floor()向下取整 ceiling()向上取整 > round(3.5) [1] 4 > flo ...
- C语言学习笔记(四) 流程控制
流程控制 流程控制,说通俗一点就是程序代码执行的顺序.不管对于哪门语言来说,流程控制都是很重要的一部分内容: 流程控制的分类,可以分为三大类: 1.顺序 这个很好理解,顺序执行就是代码从上往下一行行的 ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
随机推荐
- J2EE-tomcat的配置
修改web.xml文件里面的内容: 路径:D:\software\apache-tomcat-8.0.44\webapps\ROOT\WEB-INF\web.xml: 内容:<?xml ver ...
- C# listview展示表格格式
有时候我们需要展示表格格式的数据,首先想到的是用datagridview控件,比如更改datagridview某一行的数据,这样操作起来就比较麻烦,而listview属于轻量级,刷新和更改相对来说效率 ...
- python—day15 包的认识、执行顺序、执行流程、循环导入、包的导入、绝对、相对导入
一.包的认识 包通过文件夹来管理一系列功能相近的模块 包:一系列模块的集合体 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹名字 包名(包对象)存放的是管理模 ...
- 用abp vNext快速开发Quartz.NET定时任务管理界面
今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发.大伙最好跟着一起敲一下代码,当然源码 ...
- qt cef嵌入web(二)
在qt cef嵌入web文章中已经讲述了怎么把cef页面嵌入到qt程序中,但是这样并不完美,因为如果需要在多个窗口上创建cef浏览器部件的话,在 消息监听部分没有办法做区分多个浏览器事件,在这篇文章中 ...
- 通俗易懂讲解TCP流量控制机制,了解一下
上篇文章讲了TCP拥塞控制机制的原理,没看过的不妨看下:5分钟读懂拥塞控制,这篇文章讲讲TCP流量控制机制. 一.为什么需要流量控制? 双方在通信的时候,发送方的速率与接收方的速率是不一定相等,如果发 ...
- 从0打卡leetcode之day 5 ---两个排序数组的中位数
前言 我靠,才坚持了四天,就差点不想坚持了.不行啊,我得把leetcode上的题给刷完,不然怕是不好进入bat的大门. 题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . ...
- 如何设计一个 RPC 系统
本文由云+社区发表 RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高.但是RPC本身的构成却比较复杂,由于受到编程语言.网络模型 ...
- 看看.NET Core几个Options的简单使用
前言 配置,对我们的程序来说是十分重要的一部分.或多或少都会写一部分内容到配置文件中去. 由其是在配置中心(Apollo等)做起来之前,配置文件一定会是我们的首选. 在.NET Core中,习惯的是用 ...
- Perl IO:IO重定向
文件句柄和文件描述符的关系 文件描述符是操作系统的资源,对于实体文件来说,每打开一次文件,操作系统都会为该进程分配一个文件描述符来关联(指向)这个文件,以后操作文件数据都根据这个文件描述符来操作,而不 ...