Go语言流程控制(六)
go语言的流程控制主要有if , for和switch。
if else(分支结构)
go语言的if判断:
func main() {
score:=65
if score>=90{
fmt.Println("A")
}else if score>=80{
fmt.Println("B")
}else{
fmt.Println("C")
}
}
需要注意的两点:
1. 表达式不可以使用 ()
2. 起始花括号必须紧跟表达式后面,不可以另起一行
除此之外,if 判断写法还有另一种写法:
func main() {
if score:=65; score>=90{
fmt.Println("A")
}else if score>=80{
fmt.Println("B")
}else{
fmt.Println("C")
}
fmt.Println(score) // 报错,获取不到score
}
这种写法是把变量的定义写在表达式里了,这样写的作用是把变量定义在了局部。
for(循环结构)
for循环结构与其他语言也差不多:
for 初始语句;条件表达式;结束语句{
循环体语句
}
需要注意:
1. for后面不可以加 ()
2.花括号与if中的一样,不可以另起一行
例子:
func main() {
for i:=0;i<10;i++{
fmt.Println(i)
}
}
for循环的初始语句可以被忽略,但是初始语句后的分号必须要写,例如:
func main() {
i:=0
for ;i<10;i++{
fmt.Println(i)
}
}
for循环的初始语句和结束语句都可以省略,例如:
func main() {
i:=0
for i<10{
fmt.Println(i)
i++
}
}
switch case
基本用法:
func main() {
week:=3
switch week {
case 0:
fmt.Println("周日")
case 1:
fmt.Println("周一")
case 2:
fmt.Println("周二")
case 3:
fmt.Println("周三")
case 4:
fmt.Println("周四")
case 5:
fmt.Println("周五")
default:
fmt.Println("周六")
}
}
每个switch只能有一个default
一个分支可以有多个值,多个case值中间使用英文逗号分隔:
func main() {
num:=1
switch num {
case 1,3,5,7,9:
fmt.Println("这是奇数")
case 2,4,6,8,0:
fmt.Println("这是偶数")
default:
fmt.Println(num)
}
}
也可以把赋值放在switch里:
func main() {
switch num:=1; num {
case 1,3,5,7,9:
fmt.Println("这是奇数")
case 2,4,6,8,0:
fmt.Println("这是偶数")
default:
fmt.Println(num)
}
}
分支还可以使用表达式,这时候switch语句后面不需要再跟判断变量。例如:
func main() {
score:=90
switch {
case score>=90:
fmt.Println("优秀")
case score>=80:
fmt.Println("良好")
case score>=60:
fmt.Println("及格")
}
}
fallthrough 可以执行满足条件的case的下一个case:
func main() {
b:=true
switch b {
case true:
fmt.Println(1)
fallthrough
case false:
fmt.Println(2)
}
}
如上,不加 fallthrough 只打印 1,加上 fallthrough 打印 1 和 2
Go语言流程控制(六)的更多相关文章
- 04. Go 语言流程控制
Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...
- C语言--流程控制
一.流程控制 1.顺序结构 *默认的流程结构,按照书写顺序执行每一条语句 2.选择结构 *对给定的条件进行判断,再根据判断结果来决定执行那一段代码 3.循环结构 *在给定条件成立的情况下,反复执行某一 ...
- 9. Go语言—流程控制
一.流程控制语法 if condition_1{ }else if condition_2{ }else if condition_3{ }else{ } 二.switch分支 package mai ...
- Go语言( 流程控制)
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...
- Go语言 - 流程控制 if else | for | switch case
流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制: if | for | switch | goto// switch ...
- 07-C语言流程控制if、switch
目录: 一.流程控制 条件分支 if else 二.流程控制 开关分支 switch 回到顶部 一.流程控制 条件分支 1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分. ...
- Go语言流程控制
1.条件语句 几个注意点和C#不一样的. { } else { } ① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有() ②无论语句体内有几条语句,花括号{}都是必须存在的:C#如 ...
- C语言流程控制
顺序结构 顺序结构是最常用的结构,即从上到下的执行语句. int num=5; num++; num=13; 条件结构 条件结构是当表达式为真的时候执行语句块,C语言提供了两种条件结构 if...el ...
- [C语言]流程控制, 复合赋值, 优先级, 循环控制
---------------------------------------------------------------------------------------- //单一判断 ) { ...
随机推荐
- flask框架(十二):上下文管理***
情况一:单进程单线程 基于全局变量实现. 情况二:单进程多线程 基于threading.local对象. threading.local对象,用于为每个线程开辟一块空间来保存它独有的值. # -*- ...
- 7.9T2EASY(easy)
EASY(easy) sol:非常经典的题,取了一次之后,把线段树上这一段变成相反数 然后再贪心取和最大的. 重复以上操作,发现最后一定有对应的解,且根据贪心过程一定 是最大的 线段树上维护区间和最大 ...
- Primes and Multiplication
C - Primes and Multiplication 思路:找到x的所有质数因子,用一个vector储存起来,然后对于每一个质因子来说,我们要找到它对最后的答案的贡献的大小,即要找到它在最后的乘 ...
- JavaWeb-SpringSecurity自定义登陆配置
系列博文 项目已上传至guthub 传送门 JavaWeb-SpringSecurity初认识 传送门 JavaWeb-SpringSecurity在数据库中查询登陆用户 传送门 JavaWeb-Sp ...
- Vue_(组件通讯)父组件向子组件传值
Vue组件 传送门 父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 1.定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件 2.准备获取数据:c ...
- CodeForces 754D Fedor and coupons ——(k段线段最大交集)
还记得lyf说过k=2的方法,但是推广到k是其他的话有点麻烦.现在这里采取另外一种方法. 先将所有线段按照L进行排序,然后优先队列保存R的值,然后每次用最小的R值,和当前的L来维护答案即可.同时,如果 ...
- (四)C语言之函数
- spring-jms,spring-boot-starter-activemq JmsTemplate 发送方式
spring-jms,spring-boot-starter-activemq JmsTemplate 发送方式 背景: 原来我准备是setDefaultDestinationName 设置队列的名称 ...
- C# how to properly make a http web GET request
C# how to properly make a http web GET request EDIT 23/11/17 Updated to throw out examples using asy ...
- LC 465. Optimal Account Balancing 【lock,hard】
A group of friends went on holiday and sometimes lent each other money. For example, Alice paid for ...