Go语言基础之流程控制

if else(分支结构)

go 复制代码
if score := 65; score >= 90 {  //声明并初始化变量 score 为 65
    fmt.Println("A")
} else if score > 75 {
    fmt.Println("B")
} else {
    fmt.Println("C")
}
 

for(循环结构)

go 复制代码
for i := 0; i < 10; i++ {
    fmt.Println(i)
}
 
go 复制代码
for ; i < 10; i++ {
    i := 0
    fmt.Println(i)
}
 

for range(键值循环)

go 复制代码
for i := range 5 {
    fmt.Println(i)
}
 
0
1
2
3
4

switch case

fallthrough语法可以执行满足条件的case的下一个case,是为了兼容C语言中的case设计的。

css 复制代码
func switchDemo5() {
	s := "a"
	switch {
	case s == "a":
		fmt.Println("a")
		fallthrough
	case s == "b":
		fmt.Println("b")
	case s == "c":
		fmt.Println("c")
	default:
		fmt.Println("...")
	}
}

a
b

goto(跳转到指定标签)

c 复制代码
if (error_condition) {
    goto cleanup;
}
// ...正常逻辑
cleanup:
    // 释放资源
 
c 复制代码
for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        if (condition) goto loop_exit;
    }
}
loop_exit:
 

break(跳出循环)

continue(继续下次循环)

相关推荐
运维开发笔记13 分钟前
3.7 Go panic 与 recover 学习笔记
golang
JavaPub-rodert30 分钟前
我把 OpenAI 协议塞进了 Go 工具库:go-commons 开始支持 AI 了
开发语言·人工智能·golang
圣殿骑士-Khtangc1 天前
Go错误处理最佳实践进阶从error到panic的完整指南
golang
运维开发笔记1 天前
3.6 Go defer 语句学习笔记
golang
FfHUCisI1 天前
Golang HTTP 路由设计与请求处理
开发语言·http·golang
存在morning1 天前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
圣殿骑士-Khtangc2 天前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
xzlAwin2 天前
Win10安装Go语言多版本管理器g工具
开发语言·golang
FfHUCisI2 天前
Golang RESTful API 设计原则
开发语言·golang·restful
大可-2 天前
Go Air 热重载安装配置指南
开发语言·后端·golang