go基础-6.for循环
任何编程语言,都会有for循环,它的一般写法是
for 初始化;条件;操作{
}
例如求1+2+...+100的和
package main
import "fmt"
func main() {
var sum = 0
for i := 0; i <= 100; i++ {
sum += i
}
fmt.Println(sum)
}
for循环的五种变体
传统for循环
如上
死循环
每隔1秒打印当前的时间
package main
import (
"fmt"
"time"
)
func main() {
for {
time.Sleep(1 * time.Second)
fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 年月日时分秒的固定格式
}
}
while模式
由于golang没有while循环,如果需要,则是由for循环稍微变化得来
package main
import "fmt"
func main() {
i := 0
sum := 0
for i <= 100 {
sum += i
i++
}
fmt.Println(sum)
}
do-while模式
do-while模式就是先执行一次循环体,再判断
package main
import "fmt"
func main() {
i := 0
sum := 0
for {
sum += i
i++
if i == 101 {
break
}
}
fmt.Println(sum)
}
遍历切片,map
遍历切片
第一个参数是索引,第二个参数是
package main
import "fmt"
func main() {
s := []string{"枫枫", "知道"}
for index, s2 := range s {
fmt.Println(index, s2)
}
}
遍历map
第一个参数就是key,第二个就是value
package main
import "fmt"
func main() {
s := map[string]int{
"age": 24,
"price": 1000,
}
for key, val := range s {
fmt.Println(key, val)
}
}
break,continue
break用于跳出当前循环
continue用于跳过本轮循环
例如打印九九乘法表
package main
import "fmt"
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %d\t", i, j, i*j)
}
fmt.Println()
}
}
除了这样写,还能这样写
package main
import "fmt"
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= 9; j++ {
if j > i {
// 去掉 列比行大的数据
continue
}
fmt.Printf("%d * %d = %d\t", i, j, i*j)
}
fmt.Println()
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话