go语言第二章循环结构(for循环)

简介: go语言第二章循环结构(for循环)

go语言第二章(for循环)

简介:在 Go 语言中没有 while 循环结构。但是,可以通过 for 循环和 break 语句来实现类似的功能。

首先没有编译器的可以通过这个网址进行敲代码:Lightly

for

在 Go 语言中,for 循环是一种用来重复执行代码块的结构。它的基本语法如下:

for 初始化语句; 条件表达式; 后置语句 {
    // 循环体
}

其中,初始化语句在第一次循环前执行,通常用于初始化变量;条件表达式在每次循环前求值,如果为 true,则继续执行循环体,否则跳出循环;后置语句在每次循环后执行,通常用于更新变量。

例如,以下代码使用 for 循环计算从 1 到 10 的和:

sum := 0
for i := 1; i <= 10; i++ {
    sum += i
}
fmt.Println(sum) // 输出 55

在这个例子中,初始化语句为 i := 1,将变量 i 初始化为 1;条件表达式为 i <= 10,表示只要 i 不大于 10 就继续执行循环体;后置语句为 i++,表示每次循环后将 i 加 1。

Go 语言的 for 循环可以有多种变形,例如:

  • 可以省略初始化语句和后置语句,只保留条件表达式,实现 while 循环的功能。
i := 0
for i < 10 {
    fmt.Println(i)
    i++
}
  • 可以省略所有语句,实现死循环的功能。
for {
    fmt.Println("无限循环")
}
  • 可以使用 range 关键字来遍历数组、切片、映射等集合类型。
arr := []int{1, 2, 3}
for index, value := range arr {
    fmt.Printf("索引:%d,值:%d\n", index, value)
}

除了以上常用的形式外,Go 语言的 for 循环还支持标签语法和 continue/break/return 语句,可以实现更复杂的控制流结构。需要注意的是,在编写循环时,要注意循环条件表达式的正确性,以及避免死循环的出现。

例题

1. 打印从 1 到 10 的数字

package main
import "fmt"
func main() {
    for i := 1; i <= 10; i++ {
        fmt.Println(i)
    }
}

2. 计算 1 到 100 的和

package main
import "fmt"
func main() {
    sum := 0
    for i := 1; i <= 100; i++ {
        sum += i
    }
    fmt.Println("1到100的和为:", sum)
}

3. 打印九九乘法表

package main
import "fmt"
func main() {
    for i := 1; i <= 9; i++ {
        for j := 1; j <= i; j++ {
            fmt.Printf("%d*%d=%d ", j, i, i*j)
        }
        fmt.Println()
    }
}

4. 使用 for 循环遍历数组

package main
import "fmt"
func main() {
    arr := []int{1, 2, 3}
    for i := 0; i < len(arr); i++ {
        fmt.Printf("索引:%d,值:%d\n", i, arr[i])
    }
}


相关文章
|
5天前
|
Go
go语言map、实现set
go语言map、实现set
12 0
|
5天前
|
Go
go语言数组与切片
go语言数组与切片
14 0
|
1天前
|
JSON 算法 测试技术
在go语言中调试程序
【6月更文挑战第29天】Go语言内置`testing`包支持单元测试、基准测试和模糊测试。`go test`命令可执行测试,如`-run`选择特定测试,`-bench`运行基准测试,`-fuzz`进行模糊测试。
12 2
在go语言中调试程序
|
4天前
|
Devops Go 云计算
Go语言发展现状:历史、应用、优势与挑战
Go语言发展现状:历史、应用、优势与挑战
|
5天前
|
Go
go语言的hello,world
go语言的hello,world
10 1
|
3天前
|
编译器 Go C++
必知的技术知识:go语言快速入门教程
必知的技术知识:go语言快速入门教程
|
4天前
|
编译器 Go 开发者
|
8天前
|
安全 测试技术 Go
Go语言在高并发场景下的应用
在当今互联网高速发展的时代,高并发已成为众多应用系统面临的核心问题。本文探讨了Go语言在高并发场景下的优势,并通过具体实例展示了其在实际应用中的效果和性能表现。
|
7天前
|
存储 中间件 Go
在go语言服务中封装路由和示例
【6月更文挑战第23天】本文介绍golang后端按协议处理、中间件(一次性与每次请求执行)划分、以及服务架构Controller、Logic/Service、DAO/Repository和Routers划分。代码仓库在GitHub上提供。使用框架简化了交互和处理。后续章节深入探讨服务构建。
105 5
在go语言服务中封装路由和示例
|
8天前
|
Unix Go 开发者
探索Go语言并发模型:原理与实践
本文深入探讨了Go语言的并发模型,包括其设计原理、Goroutine和Channel的基本使用,以及如何在实际项目中高效地应用这些概念来提高程序的性能和可维护性。

相关实验场景

更多