流程控制
目录
常见的语言中,都有命令分支结构,我们今天依次看看Go语言的流程控制。
if…else…
这是最常见的流程控制,Go语言的 if...else...
与其他语言并没有什么太大的不同,唯一需要注意的地方是它不需要括号:
if x > 1 {
fmt.Println("x > 1")
}
switch…case…
Go语言中的 switch...case...
与C语言非常像,不同的地方在于,每一条case语句默认是带了 break
的,也就是说,当前的 case
执行完成之后,整个 switch
就会退出:
switch x {
case x == 1:
fmt.Println("x == 1")
case x == 2:
fmt.Println("x == 2")
default:
fmt.Println("x != 1 && x != 2")
}
default
分支就是用于所有 case
都没有匹配时执行的,我们可以不提供 default
分支。
for
Go语言的 for
循环也是循规蹈矩,唯一需要注意的地方在于没有括号:
for i := 0; i < 10; i++ {
fmt.Println(i)
}
注意,Go语言里没有while,也没有 do…while…
continue和break
continue
和 break
就是用于控制 for
循环的,例如:
for {
if x == 1 {
break
}
if x == 2 {
continue
}
}
goto
一般我们不用 goto
。Go语言里的 goto
与C语言的一致,我们需要提供一个标签,所以我们也可以用 goto
写一个死循环:
loop:
goto loop
它与下面这样是等效的:
for {
}
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- 用peewee代替SQLAlchemy
- frp 源码阅读与分析(一):流程和概念
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程