go for循环

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

内容简介: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)
    }

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

查看所有标签

猜你喜欢:

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

JavaScript & jQuery交互式Web前端开发

JavaScript & jQuery交互式Web前端开发

[美]达克特(Duckett,J.) / 杜伟、柴晓伟、涂曙光 / 清华大学出版社 / 2015-6-9 / 79.80元

欢迎选择一种更高效的学习JavaScript和jQuery的方式。 你是一名JavaScript新手?或是您曾经向自己的Web页面上添加过一些脚本,但想以一种更好的方式来实现它们?本书非常适合您。本书不仅向您展示如何阅读和编写JavaScript代码,同时还会以一种简单且视觉化的方式,教您有关计算机编程的基础知识。阅读本书之前,您只需要对HTML和CSS有一些了解即可。 通过将编程理论......一起来看看 《JavaScript & jQuery交互式Web前端开发》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具