Go语言基础for循环语句的用法及示例详解

时间:2022-09-06 18:29:35

Go语言基础for循环语句的用法及示例详解

概述

for循环是一个循环控制结构,可以执行指定次数的循环

语法

第一种

?
1
for {}     //无线循环

第二种

?
1
for 条件语句{}

第三种

?
1
for 初始语句; 条件语句; 迭代后语句 {}

第四种

?
1
for key,value:=range 表达式/变量{}

注意

省略初始条件,相当于while循环体必须用 { } 括起来初始化语句和后置语句是可选的如果只剩下条件表达式了,那么那两个分号也是可以省略的

示例一  死循环,读取文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
func readFile() {
    //需要导入 bufio、io、os包
    f, err := os.Open("abc.txt")
    if err != nil {
        fmt.Println("open error")
        return
    }
    defer f.Close()
 
    br := bufio.NewReader(f)
    for {
        s, _, c := br.ReadLine()
        if c == io.EOF {
            break
        }
        fmt.Println(string(s))
    }
}

示例二  打印乘法表

?
1
2
3
4
5
6
for i := 1; i < 10; i++ {
    for j := 1; j <= i; j++ {
        fmt.Printf("%dx%d=%d ", j, i, i*j)
    }
    fmt.Println("")
}

示例三  遍历字符串,数组,map

?
1
2
3
4
5
//只能打印英文字母,不能对汉字友好
var str = "Hello world!"
for i := 0; i < len(str); i++ {
    fmt.Printf("str[%d]=%c\n", i, str[i])
}
?
1
2
3
4
5
6
//需要借助rune进行转换,rune相当于其他语言的char
var str = "Hello 北京"
str2 := []rune(str)
for i := 0; i < len(str2); i++ {
    fmt.Printf("str[%d]=%c\n", i, str2[i])
}

以上就是Go语言基础for循环语句的用法及示例详解的详细内容,更多关于Go语言for循环语句的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/guofeng93/article/details/90804430