Go语言之旅:for语句

幸运草 2020年4月14日23:08:26前端框架评论阅读模式
Go 只有一种循环结构—— for 循环。

最基本的 for 语句包含 3 部分,以分号 ; 分隔:

  • 初始语句 :在第一次迭代判断之前;
  • 条件语句(表达式) :在每次迭代前求值并判断;
  • 迭代后语句 :在每次迭代后执行;
for 初始语句; 条件语句; 迭代后语句 {
    代码体
}

当条件表达式求值为 false 时,循环将停止迭代并退出。

package main

import "fmt"

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

注解

跟 C 、 Java 或者 JavaScript 等其他语言不同, Go 语言 for 语句 3 部分不需要用括号包住, 但花括号是必要的,任何时候都 不能省略 。

另外,与其他语言类似,初始语句与迭代后语句也是 可选 的:

package main

import "fmt"

func main() {
    sum := 1
    for ; sum < 1000; {
        sum += sum
    }
    fmt.Println(sum)
}

实际上, Go 也是支持 while 语句的,只不过关键字还换成 for :

package main

import "fmt"

func main() {
    sum := 1
    for sum < 1000 {
        sum += sum
    }
    fmt.Println(sum)
}

无限循环

如果省略循环条件,循环将 永远执行 。 这种循环就是众所周知的 死循环 ,也叫做 无限循环 。 对我来说,我更愿意用 无限循环 。 因为, 死循环 更应该用在程序有问题,循环行为不符合作者预期的场景。

无限循环是 Go 语言中最紧凑的循环结构:

package main

func main() {
    for {
    }
}

警告

使用无限循环时要特别小心!

特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
幸运草
Go语言接口规则 前端框架

Go语言接口规则

Go语言接口规则 接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数...
Go语言中处理 HTTP 服务器 前端框架

Go语言中处理 HTTP 服务器

1 概述 包 net/http 提供了HTTP服务器端和客户端的实现。本文说明关于服务器端的部分。 快速开始: package main import (   "log"   "net/http" )...

发表评论