Golang中的控制结构_Golang条件语句与循环语法-Golang

go无while/do-while和三元运算符;if与for可省括号但花括号不可省,且if支持初始化语句(如if err:=f(); err!=nil{…}),变量作用域限于对应分支;for是唯一循环结构,有类c、while、无限循环三种形式。

Go 里没有 while、do-while,也不支持三元运算符;if 和 for 的括号可以省,但花括号不能省——这是写错最多的地方。

Go 的 if 语句必须带花括号,且支持初始化语句

常见错误是照搬其他语言习惯,写成 if x > 0 { ... } else { ... } 看似正常,但一旦漏掉花括号(比如只有一行想省略),编译直接报错:syntax error: unexpected else, expecting }。

Go 要求所有分支都必须用花括号包裹,哪怕只有一行。另外,if 后可紧跟初始化语句,变量作用域仅限该 if 块:

if err := someFunc(); err != nil {
    log.Fatal(err)
} else if n := len(data); n == 0 {
    fmt.Println("empty")
}
  • 初始化语句和条件表达式之间用分号隔开,不是逗号
  • err 和 n 在各自分支外不可访问,避免污染外层作用域
  • 不支持 if x > 0 ? a : b 这类三元写法,得用完整 if/else

for 是 Go 唯一的循环结构,三种写法对应不同场景

Go 没有 while 或 do-while,所有循环都靠 for 实现。它有三种合法形式,本质都是同一语法糖的不同展开:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Golang中的控制结构_Golang条件语句与循环语法-Golang
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3996241+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3996241+
  • 本周更新: 0+
  • 最后更新: 2026-03-16