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循环的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
关于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循环操作
执行以下代码,发现无法跳出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.使
-
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 range 和 for 循环的区别
目录 副本复制问题 性能对比 遍历结构体数组 结论 前言: 对于遍历大数组而言, for 循环能比 for range 循环更高效与稳定,这一点在数组元素为结构体类型更加明显. 我们知道,Go 的语法比较简洁.它并不提供类似 C 支持的 while.do...while 等循环控制语法,而仅保留了一种语句,即 for 循环. for i := 0; i < n; i++ { ... ... } 但是,经典的三段式循环语句,需要获取迭代对象的长度 n.鉴于此,为了更方便 Go 开发者对复合数据类型
-
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
-
浅谈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
-
深入解析Go语言中for循环的写法
for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环. 语法 for循环在Go编程语言中的语法是: 复制代码 代码如下: for [condition | ( init; condition; increment ) | Range] { statement(s); } 下面是控制在一个流程的for循环: 如果condition是可用的,那么对于循环只要条件为真时执行. 如果for子句是( init; condition; increment ) 存在则 初始化(init
-
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语言中循环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:
随机推荐
- AngularJS基础 ng-dblclick 指令用法
- js原型继承的两种方法对比介绍
- java中使用try-catch-finally一些值得注意的事(必看)
- 关于有些Asp.net项目发布后出现网址乱码的解决方法
- 关于ASP.NET页面打印技术的常用方法总结
- .NET命令行解析器示例程序(命令行选项功能)
- 常用.NET工具(包括.NET可再发行包2.0)下载
- javascript里的条件判断
- android自定义RadioGroup可以添加多种布局的实现方法
- 全面总结Javascript对数组对象的各种操作
- Java中的静态绑定和动态绑定详细介绍
- jQuery 动态云标签插件
- jQuery中remove()方法用法实例
- linux expect实现登陆远程主机并执行命令示例代码
- Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
- 卸载VS2011 Developer Preview后Sql Server2008 R2建立数据库关系图报“找不到指定的模块”错误的解决方法
- SQL Server 聚焦存储过程性能优化、数据压缩和页压缩提高IO性能方法(一)
- 自制轻量级仿jQuery.boxy对话框插件代码
- javascript中为某个元素指定事件的三种方式
- 金山反病毒20050109_日报