go学习笔记-流程控制(if/else,for/range)
流程控制(if/else,for/range)
if
if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事。
func testIf() {
num := 10
if num < 10 {
fmt.Println(`less than 10`)
} else if num == 10 {
fmt.Println(`equal 10`)
} else {
fmt.Println(`more than 10`)
}
}
switch
switch语句用来解决很多if else的问题,语法如下
switch sExpr {
case expr1:
some instructions
case expr2:
some other instructions
case expr3:
some other instructions
default:
other code
}
sExpr和expr1、expr2、expr3的类型必须一致。sExpr表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项;而如果switch没有表达式,它会匹配true。witch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case。
func testSwitch() {
i := 12
switch {
case i < 12:
fmt.Println("< 12")
case i == 12:
fmt.Println("= 12")
default:
fmt.Println("> 12")
}
}
for
循环操作,既可以用来循环读取数据,又可以当作while来控制逻辑,还能迭代操作。它的语法如下:
for expression1; expression2; expression3 {
//...
}
expression1在循环开始之前调用,
expression2是用来条件判断,
expression3在每轮循环结束之时调用。
示例:
func testFor() {
sum := 0
for num := 1; num < 10; num++ {
sum += num
}
fmt.Println(sum)
}
循环控制语句
循环控制语句可以控制循环体内语句的执行过程。
- break 语句 经常用于中断当前 for 循环或跳出 switch 语句
- continue 语句 跳过当前循环的剩余语句,然后继续进行下一轮循环。
for i := 1; i < 10; i++ {
if i == 5 {
continue
}
if i == 8 {
break
}
fmt.Println(i)
}
range 关键字
range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值
arrs := [5]int{1, 2, 3, 4, 5}
for index, item := range arrs {
fmt.Println(index, item)
}
slices := []string{"a", "b", "c"}
for index, item := range slices {
fmt.Println(index, item)
}
maps := map[string]int{"a": 1, "b": 2, "c": 3}
for key, val := range maps {
fmt.Println(key, val)
}
go学习笔记-流程控制(if/else,for/range)的更多相关文章
- JavaScript学习笔记——流程控制
javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分 ...
- Go语言学习笔记-流程控制(二)
Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...
- python学习笔记---流程控制
二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...
- Java学习笔记-流程控制
在Java中,最常见的就是顺序结构,另外,还有其他的一些的结构,选择,循环等,这些程序结构的加入,使得程序代码更有选择性 判断结构 if语句 三种格式: if(条件表达式) { 执行语句; } if( ...
- C学习笔记-流程控制
常用的流程图符号 起止框用于表示流程的开始或结束: 输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容: 判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后 ...
- TCP/IP学习笔记17--TCP-- 窗口控制 重发控制 流控制
事业无穷年 -- 韩愈 利用窗口控制提高速度: TCP传输数据是,以一个段为单位(每次发送一个数据包),每发一个段需要一次确认应答,这样就难免存在这样的缺点:包的往返时间越长,通信性能就越低. 为解决 ...
- luogg_java学习_03_流程控制及循环结构
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 程序流程控制 顺序结构 分支结构:if-else,sw ...
- Python学习(七) 流程控制if语句
在Python中流程控制if语句采用如下格式: if expression : statement elif expression : statement elif expression : stat ...
- python学习Day4 流程控制(if分支,while循环,for循环)
复习 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量,魔法变量 - ...
随机推荐
- JSP简要
本篇知识导图 说起JSP,当年做课程设计什么的都用的这个,虽然技术比较古老,但是还是挺广泛使用的. JSP是一种前台的展现语言,在mvc里面属于表现层.它主要由静态,动态两部分组成,静态包括HTML, ...
- 字段处理rtrim去掉结尾的特殊字符和空格
SQL> create table ycrtest2 (name varchar2(50)); Table created. SQL> insert into ycrtest2 value ...
- libxml2用xpath进行查找
xml文档 <?xml version="1.0" encoding="UTF-8"?> <radios> <radio> ...
- MySQL联合索引最左匹配范例
MySQL联合索引最左匹配范例 参考文章:http://blog.jobbole.com/24006/ 创建示例表. 示例表来自MySQL官方文档: https://dev.mysql.com/doc ...
- 2018.11.1 Hibernate中的Mapper关系映射文件
Customer.hbm.xml 基本的参数都在里面了 <?xml version="1.0" encoding="UTF-8"?> <!DO ...
- 【洛谷T37388】P哥破解密码
原题图: 看到这个题,首先想到的当然是暴力打表找规律了 表: 1 2 2 4 3 7 4 13 5 24 6 44 7 81 8 149 9 274 10 504 11 927 12 1705 13 ...
- mysql-delete 和 truncate的区别
delete from student where id = 3; -- delete partly delete from student; -- delete all truncate stu ...
- EF执行SQL语句
使用上下文中的Database.SqlQuery<对应的表名>(sql语句) var data = dbcenter.Database.SqlQuery<CcBusiFormview ...
- dedecms基础整理,
需求3: 在添加某个商品的时候,我们希望多一个信息,就是付费方式,还希望多一个邮资信息,我们又该怎样处理? 引出修改内容模型的问题 每个模型的字段管理的所有信息 都属于附加表. 步骤: 点击 核心-& ...
- Oracle四舍五入,向上取整,向下取整
用oracle sql对数字进行操作: 取上取整.向下取整.保留N位小数.四舍五入.数字格式化 取整(向下取整): select floor(5.534) from dual; select trun ...