【golang学习之旅】Go 的循环结构

系列文章

【golang学习之旅】报错:a declared but not used
【golang学习之旅】Go 的基本数据类型


目录


for循环

Go 只有一种循环结构:for 循环


基本的for循环

和C以及Java语言一样,基本的 for 循环由三部分组成,它们用分号隔开:

  • 初始化语句:在第一次迭代前执行
  • 条件表达式:在每次迭代前求值
  • 后置语句 :在每次迭代的结尾执行
    初始化语句通常为一句短变量声明,该变量声明仅在 for 语句的作用域中可见。

一旦条件表达式求值为 false,循环迭代就会终止。

注意:和 C、Java、JavaScript 之类的语言不同,Go 的 for 语句后面的三个构成部分外没有小括号, 大括号 { }则是必须的。


for 变 while

for的初始化语句和后置语句是可选的,都去掉之后就变成了while,这块和其他语言一样。但是Go语言中没有while这个关键字


死循环

如果连循环条件也没有,那就是死循环了,一直出不来,你需要用 ctrl + c 或者 kill 来结束掉进程


for-range

Go 语言提供了一种经典for循环以外的集合数据迭代方式:Range 范围迭代,使用关键字range表示,其等同于其他程序设计语言中的forEach迭代。范围迭代range可应用于多种 Go 内置数据结构:字符串、数组、切片、哈希表、通道。

示例:

go 复制代码
for k,v:=range map {
    fmt.Println("map's key:",k)
    fmt.Println("map's val:",v)
}

由于 Go 支持 "多值返回", 而对于"声明而未被调用"的变量, 编译器会报错, 在这种情况下, 可以使用_来丢弃不需要的返回值

例如

go 复制代码
for _, v := range map{
    fmt.Println("map's val:", v)
}
相关推荐
励志不掉头发的内向程序员几秒前
【从零写一个CAD 02】画完第一条线之后:实体容器、Esc 取消,和按了没反应的键盘
开发语言·c++·qt·学习·系统架构
摇滚侠10 分钟前
《On Java 中文版 基础卷》阅读笔记 安装 Java 和本书示例 02
java·开发语言·笔记
FfHUCisI21 分钟前
sync.Once 与 sync.Cond 源码与并发控制陷阱
服务器·开发语言·后端·golang
阿钱真强道26 分钟前
21 嵌入式操作系统 | JSON 与 json-c:生成与解析
c语言·开发语言·json·json-c
j7~26 分钟前
【Python】(篇六)《基础语法(函数、列表和元组、字典、文件)》---详解
开发语言·python·文件·函数·字典·编程学习·元组与列表
艾莉丝努力练剑34 分钟前
【AI大模型接入SDK】ChatSDK架构设计与实现
网络·c++·人工智能·学习·语言模型
重生之小比特39 分钟前
【C++进阶】红黑树的实现
java·开发语言·c++
纪念 22939 分钟前
C++算法(一)
开发语言·c++·算法
Yunovian2 小时前
AI时代,针对模型与应用,浅谈一下各编程语言
开发语言·c++·人工智能·python·ai·rust·ai编程
周杰伦fans3 小时前
构建真正智能的CAD AI绘图代理
开发语言·人工智能·c#