
在 go (golang) 中,控制流是使用几个基本结构来管理的,包括条件语句(if、else)、循环(for)和 switch 语句。以下是这些构造在 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++
}
}
无限循环:
本文档讲述在Android2.1上完全自已开发一个驱动去控制硬件口并写应用测试该驱动,通过这样一个例子,解析android下的驱动开发流程的应用调用流程,可以说是很好的入门引导 要达到的效果:通过Android的应用,调用驱动程序,在开发板上控制4个LED的亮灭。感兴趣的朋友可以过来看看
0
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)
}
}
基本“开关”
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.")
}
以上就是圈子里有趣的控制流的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号