Go语言中循环Loop的用法介绍

Go语言和其他语言不一样,它只有一种循环方式,就是for语句

可以参考如下公式:

for initialisation; condition; post{
    //Do Something
}

执行顺序

  • a.执行一次initialisation,初始化
  • b.判断condition
  • c.条件为true,执行{}内的语句
  • d.语句执行之后执行post

使用方式举例:

1.基本使用类似其他语言的for

func ForTest1(){
   for i:=1;i<=10;i++{
      fmt.Printf("i=%d\t",i)
   }
   fmt.Println()
}

2.替代while语句

func ForTest2(){
   i:=1
   for  ;i<=10; {
      i=i+2
      fmt.Printf("i=%d\t",i)
   }
   fmt.Println()

   //等价于
   for i<=10 {
      i=i+2
      fmt.Printf("i=%d\t",i)
      fmt.Println()
   }
}

3.多条件(多重赋值)

func ForTest3(){
   for x,y:=1,10; x<10 && y>1; x,y = x+1,y-1{
      fmt.Printf("x=%d\t",x)
      fmt.Printf("y=%d\t",y)
      fmt.Println()
   }
   fmt.Println()
}

4.无限循环

func ForTest4(){
   count:=1
   for {
      fmt.Printf("Hello\t")
      if(count == 3){
         break
      }
      count++
   }
}

运行结果如下:

-----ForTest1-------
i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10   
-----ForTest2-------
i=3 i=5 i=7 i=9 i=11   
-----ForTest3-------
x=1 y=10   
x=2 y=9
x=3 y=8
x=4 y=7
x=5 y=6
x=6 y=5
x=7 y=4
x=8 y=3
x=9 y=2
-----ForTest4-------
Hello   Hello   Hello

到此这篇关于Go语言Loop循环的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 关于Golang中for-loop与goroutine的问题详解

    背景 最近在学习MIT的分布式课程6.824的过程中,使用Go实现Raft协议时遇到了一些问题.分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 参见如下代码: for i := 0; i < len(rf.peers); i++ { DPrintf("i = %d", i) if i == rf.me { DPrintf("skipping myself #%d", rf.me) continue } go func() { DPrintf(

  • golang中for循环遍历channel时需要注意的问题详解

    前言 for循环是Go语言唯一的循环结构,最近在做一个基于RabbitMQ的应用,由于官方的qos没有golang的版本,所以出了一点问题. 问题代码如下: _, ch, err := component.NewRabbitMQ() if err != nil { panic(err) } if err := ch.Qos(10, 0, true); err != nil { panic(err) } msgs, err := ch.Consume("push", "&quo

  • 深入解析Go语言中for循环的写法

    for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环. 语法 for循环在Go编程语言中的语法是: 复制代码 代码如下: for [condition |  ( init; condition; increment ) | Range] {    statement(s); } 下面是控制在一个流程的for循环: 如果condition是可用的,那么对于循环只要条件为真时执行. 如果for子句是( init; condition; increment ) 存在则 初始化(init

  • 浅谈golang for 循环中使用协程的问题

    两个例子 package main import ( "fmt" "time" ) func Process1(tasks []string) { for _, task := range tasks { // 启动协程并发处理任务 go func() { fmt.Printf("Worker start process task: %s\n", task) }() } } func main() { tasks := []string{&quo

  • golang语言中for循环语句用法实例

    本文实例讲述了golang语言中for循环语句用法.分享给大家供大家参考.具体分析如下: for循环是用来遍历数组或数字的.用for循环遍历字符串时,也有 byte 和 rune 两种方式.第一种为byte,第二种rune. 复制代码 代码如下: package main import ( "fmt" ) func main() { s := "abc汉字" for i := 0; i < len(s); i++ { fmt.Printf("%c,&

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

    目录 概述 语法 注意 示例一  死循环,读取文件 示例二  打印乘法表 示例三  遍历字符串,数组,map 概述 for循环是一个循环控制结构,可以执行指定次数的循环 语法 第一种 for {} //无线循环 第二种 for 条件语句{} 第三种 for 初始语句; 条件语句; 迭代后语句 {} 第四种 for key,value:=range 表达式/变量{} 注意 省略初始条件,相当于while循环体必须用 { } 括起来初始化语句和后置语句是可选的如果只剩下条件表达式了,那么那两个分号也

  • Golang实现for循环运行超时后自动退出的方法

    前言 for循环是用来遍历数组或数字的.用for循环遍历字符串时,也有 byte 和 rune 两种方式.第一种为byte,第二种rune.下面话不多说了,来一起看看详细的介绍吧. Golang实现for循环 package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) } 跟C语言中一样,可以让前置.后置语句为空. package ma

  • Go 处理大数组使用 for range 和 for 循环的区别

    目录 副本复制问题 性能对比 遍历结构体数组 结论 前言: 对于遍历大数组而言, for 循环能比 for range 循环更高效与稳定,这一点在数组元素为结构体类型更加明显. 我们知道,Go 的语法比较简洁.它并不提供类似 C 支持的 while.do...while 等循环控制语法,而仅保留了一种语句,即 for 循环. for i := 0; i < n; i++ { ... ... } 但是,经典的三段式循环语句,需要获取迭代对象的长度 n.鉴于此,为了更方便 Go 开发者对复合数据类型

  • golang 跳出for循环操作

    执行以下代码,发现无法跳出for循环: func SelectTest() { i := 0 for { select { case <-time.After(time.Second * time.Duration(2)): i++ if i == 5 { fmt.Println("跳出for循环") } } fmt.Println("for循环内 i=", i) } fmt.Println("for循环外") } 解决办法有两个: 1.使

  • Go语言中循环Loop的用法介绍

    Go语言和其他语言不一样,它只有一种循环方式,就是for语句 可以参考如下公式: for initialisation; condition; post{ //Do Something } 执行顺序 a.执行一次initialisation,初始化 b.判断condition c.条件为true,执行{}内的语句 d.语句执行之后执行post 使用方式举例: 1.基本使用类似其他语言的for func ForTest1(){ for i:=1;i<=10;i++{ fmt.Printf("

  • 几种有用的变型 PHP中循环语句的用法介绍

    PHP手册中对它的语法定义如下: for (expr1; expr2; expr3) statement 下面说说for语句几种有用的变型. 1.无限循环 首先是人尽皆知的无限循环(亦可称"死循环").由于空表达式null在语法上是有效的,所以我们可以把for语句的三个表达式留空,这样就会产生不断执行for嵌套语句的效果. for (;;) { //放置需要不断执行的语句 } ?> 虽然有一些任务会使用到无限循环,但是大多数程序任务,特别是PHP所能涉及的领域,在使用无限循环时都

  • python中循环语句while用法实例

    本文实例讲述了python中循环语句while用法.分享给大家供大家参考.具体分析如下: 对于python的while语句,注意其缩进即可. python和其他语言一样也有break和continue,分别用来表示跳出循环和继续循环. #!/usr/bin/python # Simple while loop a = 0 while a < 15: print a, # 在print a后面加,不换行 if a == 10: print "made it to ten!!" a

  • C语言switch语句和if用法介绍

    目录 switch语句 switch和if的区别 1.switch语句结构示意图 2.if语句结构示意图 switch的高级(灵活)运用 switch的嵌套实现 循环及循环的两个关键字 什么是循环结构 break关键字 continue关键字 switch语句 我们先了解switch是什么,翻译过来的中文意思是开关,在C语言中是指选择不同的开关即不同的分支来完成语句.接下来讲一下switch的结构和基本使用. 一般的switch语句的结构 switch(n){ case 1: 语句1: brea

  • Go语言中循环语句使用的示例详解

    目录 一.概述 1. 循环控制语句 2. 无限循环 二.Go 语言 for 循环 1. 语法 2. for语句执行过程 3. 示例 4. For-each range 循环 三.循环嵌套 1. 语法 2. 示例 四.break 语句 1. 语法 2. 示例 五. continue 语句 1. 语法 2. 示例 六.goto 语句 1. 语法 2. 示例 一.概述 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 循环程序的流程图: Go 语言提供了以下几种类型循环

  • 详解如何在Go语言中循环数据结构

    目录 如何在Go中循环字符串 如何在Go中循环map结构 如何在Go中循环Struct 数组是存储类似类型数据的强大数据结构.您可以通过索引识别和访问其中的元素. 在Golang中,您可以通过在0初始化变量i并增加变量直到它达到数组的长度,使用for循环循环数组. 它们的语法如下所示: for i := 0; i < len(arr); i++ { // perform an operation } 例如,让我们循环一个整数数组: package main import ( "fmt&qu

  • C语言中循环语句练习实例

    计算n的阶乘 int main() { int i=0; int ret=1; scanf("%d",&i); for(i=1;i<=n;i++) { ret=ret*i; } printf("%d\n",ret); return 0; } 计算1!+2!+3!+.....+10! int main() {计算1!+2!+3!+.....+10! int i = 0; int j = 0; int sum = 0; int ret = 1; for (

  • 基于Python2、Python3中reload()的不同用法介绍

    reload() 简介 作用:用于重新载入之前载入的模块 语法格式:reload(module) 参数:module为模块对象,必须已经被加载 返回值:返回模块对象 注意事项: 多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境. reload()会重新加载已加载的模块,重新编译模块,重新执行模块级代码,但是__init__函数不再重复执行,原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块:reload后还是用原来的内存地址:

  • python 的numpy库中的mean()函数用法介绍

    1. mean() 函数定义: numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue at 0x40b6a26c>)[source] Compute the arithmetic mean along the specified axis. Returns the average of the array elements. The average is taken over

  • SQLServer中exists和except用法介绍

    目录 一.exists 1.1 说明 1.2 示例 1.3 intersect/2017-07-21 二.except 2.1 说明 2.2 示例 三.测试数据 一.exists 1.1 说明 EXISTS(包括 NOT EXISTS)子句的返回值是一个 BOOL 值.EXISTS 内部有一个子查询语句(SELECT ... FROM...),我将其称为 EXIST 的内查询语句.其内查询语句返回一个结果集. EXISTS 子句根据其内查询语句的结果集空或者非空,返回一个布尔值. exists:

随机推荐