go for循环

栏目: Go · 发布时间: 5年前

内容简介:1、循环条件是返回一个布尔值的表达式2、 for 循环的第二种使用方式示例:
  • 快速入门
for i := 1; i <= 10; i++ {
        fmt.Println(i)
    }
  • 流程图

    go for循环

for循环注意事项和细节

1、循环条件是返回一个布尔值的表达式

2、 for 循环的第二种使用方式

for 循环判断条件 { //循环执行语句
      }
    //将变量初始化和变量迭代写到其它位置

示例:

j := 1
    for j <= 10 {
        fmt.Println("hello....", j)
        j++
    }

3、 for 循环的第三种使用方式

for {
    //循环语句
}

等价: for ; ; { } 是个无限循环,需要配合 break 语句来用

示例:

k := 1
    for { //等价 for ; ; { }
        if k <= 10 {
            fmt.Println("ok...", k)
        } else {
            break //跳出循环
        }
        k++
    }

3、Golang 供 for-range 的方式,可以方便遍历 字符串和数组 (注: 数组的遍历,我们放到讲数组 的时候再讲解) ,案例说明如何遍历字符串。

  • 字符串遍历方式 1-传统方式
var str string = "hello,steven qin"
    for i := 0; i < len(str); i++ {
        fmt.Printf("%c \n", str[i])
    }
  • for-range 方式
var str string = "abc~defg"
    for index, val := range str {
        fmt.Printf("index=%d , val=%c \n", index, val)
    }

细节讨论

1、 如果我们的 字符串含有中文 ,那么传统的遍历字符串方式,就是错误,会出现乱码。原因是传统的对字符串的遍历是按照字节来遍历,而 一个汉字在 utf8 编码是对应 3 个字节

  • 如何解决 需要要将 str 转成 []rune 切片.=> 体验一把
var str string = "hello,steven qin!哈哈"
    str2 := []rune(str) //转为切片类型
    for i := 0; i < len(str2); i++ {
        fmt.Printf("%c \n", str2[i])
    }

2、 for-range方法不受影响

var str string = "abc~defg,哈哈"
    for index, val := range str {
        fmt.Printf("index=%d , val=%c \n", index, val)
    }

练习

1、打印 1~100 之间所有是 9 的倍数的整数的个数及总和

func main() {
    var max uint64 = 100
    var count uint64 = 0
    var sum uint64 = 0
    var i uint64 = 1 //i的类型要和max一致
    for ; i <= max; i++ {
        if i%9 == 0 {
            count++
            sum += i
        }
    }
    fmt.Printf("count=%v sum=%v\n", count, sum) //%v为值的默认格式表示
}

2、练习2

var n int = 10
    for i := 0; i <= n; i++ {
        fmt.Printf("%v + %v = %v\n", i, n-i, n)
    }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图论导引

图论导引

[美] Douglas B.West / 机械工业出版社 / 2004-10 / 59.00元

图论在计算科学、社会科学和自然科学等各个领域都有广泛应用。本书是本科生或研究生一学期或两学期的图论课程教材。全书力求保持按证明的难度和算法的复杂性循序渐进的风格,使学生能够深入理解书中的内容。书中包括对证明技巧的讨论、1200多道习题、400多幅插图以及许多例题,而且对所有定理都给出了详细完整的证明。虽然本书包括许多算法和应用,但是重点在于理解图论结构和分析图论问题的技巧。一起来看看 《图论导引》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器