Go 语言 for(循环)
一则或许对你有用的小广告
最近,小哈正在带小伙伴们做前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.2 + Vite 4
,手把手,前端 + 后端,全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已进入第七章 《文章分类模块开发》中,截止到目前,已更新 105150 字,69 篇内容,讲解图:521 张,还在持续爆肝中,后续还会上新更多项目,已有 200+ 小伙伴加入,欢迎点击围观。
在 Go 语言 中,循环需要使用关键字 for
来完成,格式如下:
for 初始语句;条件表达式;结束语句 {
循环体代码
}
for
循环会不停地进行循环,直到条件表达式返回 false
才推出循环,即执行 for 循环 "}" 后面的代码。
一、for 循环 - 初始语句
初始语句是第一次执行循环前执行的语句,通常情况下,我们会通过它来执行变量 初始化操作。
注意: 通过初始语句声明的变量,作用域局限在
for
循环内。
代码如下:
for i := 0; i < 100; i++ {
fmt.Println("犬小哈教程 quanxiaoha.com")
}
上面代码打印了一百次 犬小哈教程 quanxiaoha.com
。
另外,初始语句还可以忽略不写,但是初始语句后面的分号必须写,代码如下:
i := 0
for ; i < 100; i++ {
fmt.Println("犬小哈教程 quanxiaoha.com")
}
上面的代码中将 i
放在了 for
循环前面初始化,这时 i
的作用域不止作用在 for
循环内。
二、for 循环 - 条件表达式
每次在循环前,会计算条件表达式的值,如果结果为 true
, 则继续循环;否则将结束循环。
注意:条件表达式同样可以忽略不写,若不写,由于没有终止条件,则会陷入无限死循环,代码如下:
i := 0
for ; ; i++ {
if i == 10 {
break
}
fmt.Println("犬小哈教程 quanxiaoha.com")
}
上面代码打印 10 次: 犬小哈教程 quanxiaoha.com
。
图示:
go语言for循环示例代码
不是说死循环吗?怎么只打印了 10 呢?
之所以只打印 10 次,因为循环体中有 if 判断语句,当 i 等于 10 时,执行了 break
结束循环的操作。
2.1 更美观的死循环写法
还有死循环的写法更具有可读性,代码如下:
i := 0
for {
if i == 10 {
break
}
fmt.Println("犬小哈教程 quanxiaoha.com")
}
可以看到, for
后面直接忽略了初始语句、条件表达式以及结束语句。
2.2 只有一个条件的 for 循环
上面的代码还可以进一步简化,可以将 if
判断整合到 for
循环中,代码如下:
i := 0
for i <= 10 {
i++
fmt.Println("犬小哈教程 quanxiaoha.com")
}
将条件 i == 10
条件改成了 i <= 10
, 并整合到 for
后面,若满足条件则会打印控制台,且每次对 i
执行自增加一操作。
三、for 循环 - 结束语句
在结束每次循环前被执行的语句。若循环被 break
、goto
、return
、panic
等语句强制退出,则结束语句不会被执行。