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语言流程控制(六)的更多相关文章

  1. 04. Go 语言流程控制

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

  2. C语言--流程控制

    一.流程控制 1.顺序结构 *默认的流程结构,按照书写顺序执行每一条语句 2.选择结构 *对给定的条件进行判断,再根据判断结果来决定执行那一段代码 3.循环结构 *在给定条件成立的情况下,反复执行某一 ...

  3. 9. Go语言—流程控制

    一.流程控制语法 if condition_1{ }else if condition_2{ }else if condition_3{ }else{ } 二.switch分支 package mai ...

  4. Go语言( 流程控制)

    流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...

  5. Go语言 - 流程控制 if else | for | switch case

    流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制: if | for | switch | goto// switch ...

  6. 07-C语言流程控制if、switch

    目录: 一.流程控制 条件分支 if else 二.流程控制 开关分支 switch 回到顶部 一.流程控制 条件分支 1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分. ...

  7. Go语言流程控制

    1.条件语句 几个注意点和C#不一样的. { } else { } ① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有() ②无论语句体内有几条语句,花括号{}都是必须存在的:C#如 ...

  8. C语言流程控制

    顺序结构 顺序结构是最常用的结构,即从上到下的执行语句. int num=5; num++; num=13; 条件结构 条件结构是当表达式为真的时候执行语句块,C语言提供了两种条件结构 if...el ...

  9. [C语言]流程控制, 复合赋值, 优先级, 循环控制

    ---------------------------------------------------------------------------------------- //单一判断 ) { ...

随机推荐

  1. flask框架(四):通过局域网访问网站

    一:开启局域网访问 if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) # 设置成局域网访问 二:设置windows的入站规则 ...

  2. Codeforces 1214 F G H 补题记录

    翻开以前打的 #583,水平不够场上只过了五题.最近来补一下题,来记录我sb的调试过程. 估计我这个水平现场也过不了,因为前面的题已经zz调了好久-- F:就是给你环上一些点,两两配对求距离最小值. ...

  3. JAVA异常及其异常处理方式

    异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用Syste ...

  4. 普通线程类获取service,controller等spring容器类

    package com.zihexin.application.strategy; import org.springframework.beans.BeansException; import or ...

  5. Asp.Net WebAPI 通过HttpContextBase或者HttpRquest 获取请求参数

    WEBAPI中的Request是HttpRequestMessage类型,不能像Web传统那样有querystring和from 方法接收参数,而传统的HttpReqest的基类是HttpReqest ...

  6. ubuntu下如何卸载nvidia显卡驱动?

    答: sudo apt-get remove nvidia* -y

  7. JavaFx入门(一)

    JavaFx和Swing的对比: javaFX确实比swing好看些,但没有swing的事件按钮等写法爽快,特别是使用eclipse的matisse开发视图,托拉拽的方式.可javaFX不只是有swi ...

  8. [笔记] 使用frp从外网访问内网

    之前尝试过otunnel,也记录过使用方法,见[笔记] 使用otunnel从外网访问内网,但是用了几天发现还是不够稳定. 然后尝试frp,发现性能稳定,够用,将过程及配置分享在这里吧. 需求 内网机器 ...

  9. Android adb.exe 开发模试安装

    1.安装 adb . 让它直接能在cmd 窗口运行 下载:platform-tools  这个就行: Download SDK Platform-Tools for Windows 下载完成后直接解压 ...

  10. 【JVM学习笔记】双亲委托机制存在的意义

    1.可以确保Java核心库的类型安全:所有的Java应用都至少会引用java.lang.Object类,也就是说在运行期,java.lang.Object这个类会被加载到Java虚拟机:如果用户自定义 ...