目录:

1、if else语句块

2、for语句

3、switch语句

if else语句块

1、基本语法

if condition {
  //do something
} if statement; condition {
 
} if condition {
     //do something
} else if condition {
   //do something
} else {
    //do something
}

 

2、练习一

 

// 奇偶数
func testIf1() {
num := 10
// var num int
// num = 10
if num%2 == 0 {
fmt.Printf("num:%d is even\n", num)
} else {
fmt.Printf("num:%d is odd\n")
}
}

  

3、练习二

// if.. else if 可赋值
func testIf3() {
// num := 10
// var num int
// num = 10 // if语句块中定义num, num会在语句块中销毁
if num := 11; num%2 == 0 {
fmt.Printf("num %d is even\n", num)
} else {
fmt.Printf("num:%d is odd\n", num)
} // 为空
fmt.Printf("num=%d\n", num)
}

  

4、练习三

// 方法
func getNum() int {
return 10
} func testIf4() {
// if语句块中定义num, num会在语句块中销毁
if num := getNum(); num%2 == 0 {
fmt.Printf("num %d is even\n", num)
} else {
fmt.Printf("num:%d is odd\n", num)
} // 为空
fmt.Printf("num=%d\n", num)
}

for语句

1、Go语⾔言中只有⼀一种循环 for

for initialisation; condition; post {

}

  

2、练习一

func testFor1() {

	// for块中定义,结束时i销毁
//for i := 1; i <=10 ; i++ {
// fmt.Printf("i=%d\n",i)
//} // 不销毁
var i int
for i = 1; i <= 10; i++ {
fmt.Printf("i=%d\n", i)
} fmt.Printf("final:i=%d\n", i)
}

  

3、练习二

// break 跳出循环 continue
func testFor2() {
var i int
for i = 1; i <= 10; i++ {
if i > 5 {
break
// continue
}
fmt.Printf("i=%d\n", i)
} fmt.Printf("final:i=%d\n", i)
}

  

4、练习三

// continue结束本次循环,跳到下次循环
func testFor3() {
var i int
for i = 1; i <= 10; i++ {
if i%2 == 0 {
continue
}
fmt.Printf("i=%d\n", i)
} fmt.Printf("final:i=%d\n", i)
}
// 二种写法
func testFor4() {
//var i int
//i = 1;
i := 1
for i <= 10 {
fmt.Printf("i=%d\n", i)
i = i + 2
} fmt.Printf("final:i=%d\n", i)
} // 三种写法
func testFor5() {
//var i int
//i = 1;
i := 1
for i <= 10 {
fmt.Printf("i=%d\n", i)
i = i + 2
} fmt.Printf("final:i=%d\n", i)
}

  

5、练习四

// 多行赋值
func testMultiSign() {
//var a int
//var b string
//var c int
a, b, c := 10, "hello", 100 fmt.Printf("a=%d b=%s c=%d\n", a, b, c)
} // 多条件for
func testFor6() {
for no, i := 10, 1; i < 10 && no <= 19; i, no = i+1, no+1 {
fmt.Printf("%d * %d = %d", i, no, i*no)
}
}

  

5、练习五

// 无限循环for
func testFor7() {
for {
fmt.Printf("hello\n")
}
}

  

switch语句

1、case语句

func testIf() {
var a int = 2
if a == 1 {
fmt.Printf("a=1\n")
} else if a == 2 {
fmt.Printf("a=2\n")
} else if a == 3 {
fmt.Printf("a=3\n")
} else if a == 4 {
fmt.Printf("a=4\n")
} else {
fmt.Printf("a=5\n")
}
}
func testSwitch() {
var a int = 2
switch a {
case 1:
fmt.Printf("a=1\n")
case 2:
fmt.Printf("a=2\n")
case 3:
fmt.Printf("a=3\n")
case 4:
fmt.Printf("a=4\n")
case 5:
fmt.Printf("a=5\n")
default:
fmt.Printf("a=??\n")
}
}

  

2、写法二

func getValue() int {
return 6
} // 写法二
func testSwitch2() {
switch a := getValue(); a {
case 1:
fmt.Printf("a=1\n")
case 2:
fmt.Printf("a=2\n")
case 3:
fmt.Printf("a=3\n")
case 4:
fmt.Printf("a=4\n")
case 5:
fmt.Printf("a=5\n")
default:
fmt.Printf("a=??\n")
}
}

  

3、练习一

func testSwitch3() {
switch a := getValue(); a {
case 1, 2, 3, 4, 5:
fmt.Printf("a>=1 and a<=5\n")
case 6, 7, 8, 9, 10:
fmt.Printf("a>=6 and a<=10\n")
default:
fmt.Printf("a > 10\n")
}
}

  

4、练习二

func testSwitch4() {
var num = 60
switch {
case num >= 0 && num <= 25:
fmt.Printf("a>=0 and a<=25\n")
case num > 25 && num <= 50:
fmt.Printf("a > 25 and a <=50\n")
case num > 50 && num <= 75:
fmt.Printf("a > 50 and a <= 75\n")
case num > 75 && num <= 100:
fmt.Printf("a > 75 and a <= 100\n")
default:
fmt.Printf("invalid a = %d \n", num)
}
}

  

5、fallthrough 穿透case块,执行下一个case块

// fallthrough 穿透case块,执行下一个case块,执行代码
func testSwitch5() {
var num = 60
switch {
case num >= 0 && num <= 25:
fmt.Printf("a>=0 and a<=25\n")
case num > 25 && num <= 50:
fmt.Printf("a > 25 and a <=50\n")
case num > 50 && num <= 75:
fmt.Printf("a > 50 and a <= 75\n")
fallthrough
case num > 75 && num <= 100:
fmt.Printf("a > 75 and a <= 100\n")
default:
fmt.Printf("invalid a = %d \n", num)
}
}

  

6、打印99乘法表

// 打印 99乘法表
func testMulti() {
//1*1=1
//1*2=2 2*2=4
//1*3=3 2*3=6 3*3=9 for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %d", j, i, j*i)
}
fmt.Println()
}
}

  

【原创】go语言学习(四)流程控制的更多相关文章

  1. Go语言学习笔记-流程控制(二)

    Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...

  2. GO语言学习——Go语言基础之流程控制一

    Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...

  3. Go语言基础之流程控制

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

  4. Go语言 数据类型,流程控制

    Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...

  5. GO学习-(7) Go语言基础之流程控制

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

  6. [原创]Scala学习:流程控制,异常处理

    1.流程控制 1)do..while def doWhile(){ var line="" do{ line = readLine() println("readline ...

  7. 1.4 Go语言基础之流程控制

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

  8. 第三章 go语言 程序的流程控制

    程序的流程控制主要包括三种不同的结构,分别是顺序结构.选择结构和循环结构. ² 顺序结构最为简单,程序执行时,按照语句的顺序自上而下依次执行. ² 选择结构是根据条件表达式的结果选择执行某些语句. ² ...

  9. C 碎片四 流程控制

    前面介绍了程序中用到的一些基本要素(常量,变量,运算符,表达式),他们是构成程序的基本成分,下面将介绍C语言中流程控制的三种结构:顺序结构.分支结构.循环结构 一.顺序结构 顺序结构的程序设计是最简单 ...

  10. JavaScript学习笔记——流程控制

    javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分 ...

随机推荐

  1. luogu P4887 莫队二次离线

    珂朵莉给了你一个序列$a$,每次查询给一个区间$[l,r]$ 查询$l≤i<j≤r$,且$ai⊕aj$的二进制表示下有$k$个$1$的二元组$(i,j)$的个数.$⊕$是指按位异或. 直接暴力莫 ...

  2. 封装函数(累计和、K型、金字塔)

    // 假设有个函数,只要传参数进去,就能统计累加的结果 function test($n){ if($n==1){ return 1; } return $n+test($n-1);}echo tes ...

  3. CentOS7安装firewall防火墙

    CentOS7之后 , 系统已经推荐了firewall防火墙 , 而不是iptables 主要 : firewall 和 iptables冲突 , 需要禁用其中一个. #停止iptables服务 sy ...

  4. Python初识对象

    一 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, ...

  5. iOS - Scenekit3D引擎初探之 - 导出DAE文件(3Dmax为例)

    DAE文件格式是3D交互文件格式,一般用于多个图形程序之间交换数字数据,Autodesk专有并在COLLADA(COLLAborative Design Activity)基础上改进创建的XML框架的 ...

  6. vue复制textarea文本域内容到粘贴板

    vue实现复制内容到粘贴板   方案:找到textarea对象(input同样适用),获取焦点,选中textarea的所有内容,并调用document.execCommand("copy&q ...

  7. linux命令详解

    命令语法介绍 命令   [参数] [文件或路径] rm       -f                  /etc/hosts 注:命令和参数至少一个空格(可以多个连着写)      路径不带空格  ...

  8. Linux命令——finger

    简介 查询并显示系统用户的相关信息. 最小化安装Linux可能没有改名了,需要单独安装. RHEL/CentOS yum install finger* -y Ubuntu  apt-get inst ...

  9. 190906mysql常用语法

    1.创删数据库: create database mydb; 复杂一点可以设置字符集和校对规则:create database mydb character set gbk collate gbk_c ...

  10. 某公司git代码管理,到如何上线