Golang语言中for循环语句用法实例

不晚
不晚
发布时间:2026-10-14| 3人浏览过
原创

介绍Golang中for循环的核心语法,包括标准计数循环、range遍历字符串与集合、省略条件的精简写法以及无限循环的实现,通过代码实例解析其在数据处理中的具体应用。

For循环基础语法

Golang中只有一种循环结构,即 for 循环,但它非常灵活,可以组合成不同类型的循环。其标准形式包含三个由分号分隔的组件:前置语句(通常用于初始化)、条件表达式和后置语句(通常用于递增)。

第1步:标准计数循环

目的:执行固定次数的循环,如累加或遍历索引。

示例:计算0到9的和。

package main

import "fmt"

func main() {
	sum := 0
	for i := 0; i < 10; i++ {
		sum += i
	}
	fmt.Println(sum)
}

第2步:省略部分组件

目的:简化代码,仅保留必要的条件判断或状态更新。

操作:在 for 后面只保留条件表达式,前置和后置语句可省略或留空。

package main

import "fmt"

func main() {
	sum := 1
	// 省略前置和后置语句,仅保留条件
	for ; sum < 1000; {
		sum += sum
	}
	fmt.Println(sum)
}

第3步:省略分号形成精简循环

目的:使代码更简洁,类似于其他语言的 while 循环。

说明:如果省略了循环条件中的所有部分,只需保留关键字 for 和条件本身。

package main

import "fmt"

func main() {
	sum := 1
	// 省略分号
	for sum < 1000 {
		sum += sum
	}
	fmt.Println(sum)
}

遍历字符串:Byte与Rune的区别

使用 for 循环遍历时,有两种主要方式处理字符串。由于Go语言字符串底层是字节切片,直接按字节索引可能会截断多字节字符(如中文),而 range 则能正确处理Unicode字符。

第4步:按字节(Byte)遍历

风险提醒:直接按索引访问字符串会产生字节级结果,对于非ASCII字符(如汉字)可能会输出乱码或单个字节值,而非完整字符。

示例:遍历字符串 "abc汉字"。

package main

import "fmt"

func main() {
	s := "abc汉字"
	// 按字节索引
	for i := 0; i < len(s); i++ {
		fmt.Printf("%c,", s[i])
	}
	fmt.Println()
}

第5步:按字符(Rune)遍历

目的:正确遍历和输出包含多字节字符(如中文、Emoji)的字符串。

入口:使用 range 关键字。

package main

import "fmt"

func main() {
	s := "abc汉字"
	// 按字符(range)遍历
	for _, r := range s {
		fmt.Printf("%c,", r)
	}
}

无限循环(死循环)

在Golang中,如果需要创建一个永不自动退出的循环,可以使用以下两种等价的形式。

第6步:实现无限循环

操作:省略所有参数或使用空的布尔表达式。

// 形式一:省略所有部分
package main

func main() {
	for {
		// 永远执行
	}
}
// 形式二:显式写出空的分号
package main

func main() {
	for ;; {
		// 永远执行
	}
}

注意:

无限循环必须包含退出条件(如 break 语句)或通过外部信号终止,否则程序将卡死在循环中。

以上就是Golang for循环语句用法的详细内容,更多关于Go语言编程技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。