【6.0】Go语言基础之循环语句
【一】判断语句if~else
package main
import "fmt"
// if ~ else 的使用
// [1] 语法
// 语法 if 条件 {条件符合,执行代码}
// 语法 else if 条件 {条件符合,执行代码}
// 语法 else {条件符合,执行代码}
// [2] 执行代码的左侧 { 必须跟 关键字在同一行
func main() {
score := 98
if score >= 90 && score <= 100 { // { 只能在这行,不能换行
fmt.Println("优秀")
} else if score >= 60 && score <= 90 {
fmt.Println("良好")
} else {
fmt.Println("不及格")
}
}
【二】循环
- go语言中循环使用
for
关键字
【1】基于索引的循环
(1)方式一
package main
import "fmt"
// for 循环的使用
// 语法 : for关键字后带三段,每段用 ; 分隔
// 第一段 是 索引的初始值
// 第二段 是 条件
// 第三段 是 自增或自减
func main() {
// 基于索引的循环
// 循环打印 0 - 9
// 【1】方式一
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
(2)方式二
package main
import "fmt"
// for 循环的使用
// 语法 : for关键字后带三段,每段用 ; 分隔
// 第一段 是 索引的初始值
// 第二段 是 条件
// 第三段 是 自增或自减
func main() {
// 基于索引的循环
// 循环打印 0 - 9
// 【1】方式二 :省略第一段
var i = 0 // 这样定义起始值,i的作用范围就扩大了
for ; i < 10; i++ {
fmt.Println(i)
}
}
(3)方式三
package main
import "fmt"
// for 循环的使用
// 语法 : for关键字后带三段,每段用 ; 分隔
// 第一段 是 索引的初始值
// 第二段 是 条件
// 第三段 是 自增或自减
func main() {
// 基于索引的循环
// 循环打印 0 - 9
// 【1】方式三 :第三段(自增写在循环体内部)
var i = 0 // 这样定义起始值,i的作用范围就扩大了
for ;i < 10; {
fmt.Println(i)
i++
}
}
(4)方式四
package main
import "fmt"
// for 循环的使用
// 语法 : for关键字后带三段,每段用 ; 分隔
// 第一段 是 索引的初始值
// 第二段 是 条件
// 第三段 是 自增或自减
func main() {
// 基于索引的循环
// 循环打印 0 - 9
// 【1】方式四 :省略第一段 和 第三段(自增写在循环体内部)
// 这样写格式变成了 for 条件 {} 等同于其他语言的 while 循环
var i = 0 // 这样定义起始值,i的作用范围就扩大了
for i < 10 {
fmt.Println(i)
i++
}
}
(5)方式五
package main
import "fmt"
// for 循环的使用
// 语法 : for关键字后带三段,每段用 ; 分隔
// 第一段 是 索引的初始值
// 第二段 是 条件
// 第三段 是 自增或自减
func main() {
// 基于索引的循环
// 循环打印 0 - 9
// 【1】方式五 :省略第一段 和 第三段(自增写在循环体内部)
// 这样写格式变成了 for 条件 {} 等同于其他语言的 while 循环
for {
fmt.Println("死循环")
}
}
【2】基于迭代的循环
package main
import "fmt"
// for 循环的使用
func main() {
// 基于迭代的循环
var a = [3]int{1, 2, 3}
for index, value := range a {
// index 为索引
fmt.Println(index)
// value 为索引对应的值
fmt.Println(value)
}
}
【三】switch语句
- 可以优雅的替换掉if ~ else
【1】使用方式一
package main
import "fmt"
func main() {
// switch 语句的使用
// 定义初始值
name := "Dream"
switch name {
// 定义判断条件变量名
case "Dream":
// 符合条件执行的代码
fmt.Println("答对了")
// 定义其他条件
case "Hope":
// 符合条件执行的代码
fmt.Println("打错了")
}
}
【2】使用方式二
package main
import "fmt"
func main() {
// switch 语句的使用
// 定义初始值
name := "Dream"
switch {
// 定义判断条件变量名
case name == "Dream":
// 符合条件执行的代码
fmt.Println("答对了")
// 定义其他条件
case name == "Hope":
// 符合条件执行的代码
fmt.Println("打错了")
}
}
【3】方式三
package main
import "fmt"
func main() {
// switch 语句的使用
// 定义初始值
name := "Dream"
switch name {
// 定义判断条件变量名 -- , 表示或者
case "Dream", "Chimeng":
// 符合条件执行的代码
fmt.Println("答对了")
// 定义其他条件
case "Hope":
// 符合条件执行的代码
fmt.Println("打错了")
}
}
【4】方式四
package main
import "fmt"
func main() {
// switch 语句的使用
// 定义初始值
name := "Dream"
switch {
// 定义判断条件变量名 -- , 表示或者
case name == "Dream" || name == "Chimeng":
// 符合条件执行的代码
fmt.Println("答对了")
// 定义其他条件
case name == "Hope", name == "Meng":
// 符合条件执行的代码
fmt.Println("打错了")
}
}
【四】default的使用
package main
import "fmt"
func main() {
// switch 语句的使用
// 定义初始值
name := "Meng"
switch name {
// 定义判断条件变量名 -- , 表示或者
case "Dream":
// 符合条件执行的代码
fmt.Println("答对了")
// 定义其他条件
case "Hope":
// 符合条件执行的代码
fmt.Println("打错了")
default:
fmt.Println("这是一个默认值")
}
}
【五】fallthrough的使用
- 无条件执行下一个 case
package main
import "fmt"
func main() {
// switch 语句的使用
// 定义初始值
name := "Dream"
switch name {
// 定义判断条件变量名 -- , 表示或者
case "Dream":
// 符合条件执行的代码
fmt.Println("答对了")
// 放在语句结尾 , 无条件执行下一个 case
fallthrough
// 定义其他条件
case "Hope":
// 符合条件执行的代码
fmt.Println("打错了")
default:
fmt.Println("这是一个默认值")
}
// 答对了
// 打错了
}
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17826366.html