
在 go (golang) 中,控制流是使用几个基本结构来管理的,包括条件语句(if、else)、循环(for)和 switch 语句。以下是这些构造在 go 中如何工作的概述:
- 条件:if、else、else if 在 go 中,if 语句用于根据条件执行代码。与其他一些语言不同,go 不需要在条件两边加上括号。然而,大括号 {} 是强制性的。
基本声明
package main
import "fmt"
func main() {
age := 20
if age >= 18 {
fmt.println("you are an adult.")
}
}
'if-else 语句'示例
`包主
导入“fmt”
func main() {
年龄 := 16
if age >= 18 {
fmt.println("you are an adult.")
} else {
fmt.println("you are not an adult.")
}
}
`
'if-else if-else' 语句:
package main
import "fmt"
func main() {
age := 20
if age >= 21 {
fmt.println("you can drink alcohol.")
} else if age >= 18 {
fmt.println("you are an adult, but cannot drink alcohol.")
} else {
fmt.println("you are not an adult.")
}
}
2.循环:for
go 使用“for”循环来满足所有循环需求;它没有“while”或循环
基本的“for”循环:
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.println(i)
}
}
'for' 作为 'while' 循环:
package main
import "fmt"
func main() {
i := 0
for i < 5 {
fmt.println(i)
i++
}
}
无限循环:
Relax System 是一套基于业务流程管控机制设计的新一代电子商务系统,做为“8Y8U商务解决方案”的重要组成部分,系统的设计重心位于企业的内部管理机制的建立与完善中,是一套真正能“有效提升管理水平”的商务系统。最新版本的 Relax System,更集成了CRM( Customer Relationship M
package main
func main() {
for {
// this loop will run forever
}
}
带有“range”的“for”循环:
这通常用于迭代切片、数组、映射或字符串。
package main
import "fmt"
func main() {
numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
fmt.println("index:", index, "value:", value)
}
}
- switch 语句 go go 中的“switch”语句用于选择要执行的多个代码块之一。go 的“switch”比其他一些语言更强大,可以与任何类型的值一起使用,而不仅仅是整数。
基本“开关”
package main
import "fmt"
func main() {
day := "monday"
switch day {
case "monday":
fmt.println("start of the work week.")
case "friday":
fmt.println("end of the work week.")
default:
fmt.println("midweek.")
}
}
在一个 case 中切换多个表达式:
package main
import "fmt"
func main() {
day := "saturday"
switch day {
case "saturday", "sunday":
fmt.println("weekend!")
default:
fmt.println("weekday.")
}
}
不带表达式的 switch 的作用就像一串 if-else 语句。
package main
import "fmt"
func main() {
age := 18
switch {
case age < 18:
fmt.println("underage")
case age >= 18 && age < 21:
fmt.println("young adult")
default:
fmt.println("adult")
}
}
- 推迟、恐慌和恢复
package main
import "fmt"
func main() {
defer fmt.println("this is deferred and will run at the end.")
fmt.println("this will run first.")
}
恐慌与恢复
package main
import "fmt"
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered from panic:", r)
}
}()
fmt.Println("About to panic!")
panic("Something went wrong.")
}









