讲师中心 微信公众号
AI工具推荐 视频效率加速

Golang如何写for循环_Go for迭代语法与常见用法

大伟吖_2493

大伟吖_2493

发布时间:2025-11-27 11:31:02

|

816人浏览过

|

来源于php中文网

原创

Go语言中唯一的循环结构是for循环,它通过初始化、条件判断和更新语句实现计数循环,如for i := 0; i < 5; i++ { println(i) }可输出0到4。

golang如何写for循环_go for迭代语法与常见用法

在Go语言中,for循环是唯一的循环控制结构,它功能强大且灵活,既可以实现传统的计数循环,也能用于迭代集合、字符串、通道等。Go没有while或do-while语法,所有循环逻辑都通过for来完成。

基本for循环语法

Go的for循环与C语言类似,包含初始化、条件判断和更新语句:

for 初始化; 条件; 更新 {
    // 循环体
}

例如,打印数字0到4:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}

说明:i的作用域仅限于循环内部,这是Go推荐的写法。

立即学习go语言免费学习笔记(深入)”;

类while的for循环

省略初始化和更新部分,只保留条件,就变成了while风格的循环:

n := 1
for n < 100 {
    n *= 2
}
fmt.Println(n) // 输出128

这种写法常用于条件不确定的场景,比如等待某个状态变化或读取输入。

Golang Lint
Golang Lint

Golang 项目 lint 最佳实践与 golangci‑lint 配置——运行 linter、编辑 .golangci.yml、使用 nolint指令抑制警告。

下载

无限循环与break/continue

省略所有条件,形成无限循环:

for {
    if someCondition {
        break // 跳出循环
    }
    if shouldSkip {
        continue // 跳过本次
    }
    // 正常执行
}
</font>
</p>
<p>无限循环在服务器主循环、协程任务中很常见,配合break可实现灵活退出。</p>

<H3>使用for range迭代数据结构</H3>
<p>Go提供range关键字,用于遍历数组、切片、map、字符串和通道:</p>
<ul>
  <li><strong>遍历切片或数组</strong>:
    <font face="Courier New">
      <pre class="brush:php;toolbar:false;">
arr := []int{10, 20, 30}
for index, value := range arr {
    fmt.Printf("索引:%d, 值:%d\n", index, value)
}
      
  • 遍历map
    m := map[string]int{"a": 1, "b": 2}
    for key, value := range m {
        fmt.Printf("键:%s, 值:%d\n", key, value)
    }
          
  • 遍历字符串(按rune)
    s := "你好"
    for i, r := range s {
        fmt.Printf("位置%d, 字符:%c\n", i, r)
    }
          
  • 注意:如果不需要索引或值,可用下划线_忽略:

    for _, value := range arr {
        fmt.Println(value)
    }
      

    嵌套for循环与标签跳转

    Go支持循环嵌套。若需从内层循环跳出外层,可使用标签:

    outer:
    for i := 0; i < 3; i++ {
        for j := 0; j < 3; j++ {
            if i == 1 && j == 1 {
                break outer
            }
            fmt.Printf("(%d,%d) ", i, j)
        }
    }
    // 输出: (0,0) (0,1) (0,2) (1,0)
      

    标签必须紧跟在循环前,配合break或continue使用。

    基本上就这些。Go的for循环简洁而统一,掌握这几种模式足以应对大多数场景。不复杂但容易忽略的是range遍历时变量复用的问题——在goroutine中直接传循环变量要注意捕获副本。

    热门AI工具

    更多
    UP简历
    UP简历 Hot

    一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

    Atoms
    Atoms Hot

    Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

    WorkBuddy

    一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

    VibeKnow
    VibeKnow Hot

    一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

    DeepSeek

    DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

    豆包大模型

    豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

    二狗PPT
    二狗PPT Hot

    一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

    超级简历WonderCV

    一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

    蛙蛙写作

    一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

    相关专题

    更多
    golang如何定义变量
    golang如何定义变量

    golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    479

    2024.02.23

    golang有哪些数据转换方法
    golang有哪些数据转换方法

    golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    576

    2024.02.23

    golang常用库有哪些
    golang常用库有哪些

    golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    956

    2024.02.23

    golang和python的区别是什么
    golang和python的区别是什么

    golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    751

    2024.03.05

    golang是免费的吗
    golang是免费的吗

    golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    1406

    2024.05.21

    golang结构体相关大全
    golang结构体相关大全

    本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

    3894

    2025.06.09

    golang相关判断方法
    golang相关判断方法

    本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

    1734

    2025.06.10

    golang数组使用方法
    golang数组使用方法

    本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

    3706

    2025.06.17

    Conan私有仓库搭建教程
    Conan私有仓库搭建教程

    本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

    0

    2026.09.22

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn