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

可以参考如下公式:

  1. for initialisation; condition; post{
  2. //Do Something
  3. }

执行顺序

a.执行一次initialisation,初始化

b.判断condition

c.条件为true,执行{}内的语句

d.语句执行之后执行post

使用方式举例:

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

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

2.替代while语句

  1. func ForTest2(){
  2. i:=1
  3. for ;i<=10; {
  4. i=i+2
  5. fmt.Printf("i=%d\t",i)
  6. }
  7. fmt.Println()
  8.  
  9. //等价于
  10. for i<=10 {
  11. i=i+2
  12. fmt.Printf("i=%d\t",i)
  13. fmt.Println()
  14. }
  15. }

  

3.多条件(多重赋值)

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

  

4.无限循环

  1. func ForTest4(){
  2. count:=1
  3. for {
  4. fmt.Printf("Hello\t")
  5. if(count == 3){
  6. break
  7. }
  8. count++
  9. }
  10. }  

运行结果如下:

  1. -----ForTest1-------
  2. i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10
  3. -----ForTest2-------
  4. i=3 i=5 i=7 i=9 i=11
  5. -----ForTest3-------
  6. x=1 y=10
  7. x=2 y=9
  8. x=3 y=8
  9. x=4 y=7
  10. x=5 y=6
  11. x=6 y=5
  12. x=7 y=4
  13. x=8 y=3
  14. x=9 y=2
  15. -----ForTest4-------
  16. Hello Hello Hello

Go语言中Loop的注意点的更多相关文章

  1. 汇编语言中loop循环编程

    (1)向内存0:200~ 0:23f依次传送数据0~63(3FH) (2)同上简化后的代码,要求九行以内

  2. C语言中,头文件和源文件的关系(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句, ...

  3. C 语言中 setjmp 和 longjmp

    在 C 语言中,我们不能使用 goto 语句来跳转到另一个函数中的某个 label 处:但提供了两个函数——setjmp 和 longjmp来完成这种类型的分支跳转.后面我们会看到这两个函数在处理异常 ...

  4. c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  5. C语言中do...while(0)的妙用(转载)

    转载来自:C语言中do...while(0)的妙用,感谢分享. 在linux内核代码中,经常看到do...while(0)的宏,do...while(0)有很多作用,下面举出几个: 1.避免goto语 ...

  6. C语言中,定义的含义?声明的含义?它们之间的区别是什么?

    在C语言中,对于定义和声明,也许我们非常的熟悉,但不一定真正的了解! 定义的含义:所谓定义,就是创建(编译器)一个对象,为这个对象分配一块内存空间并取名,也就是我们平常所说的变量名或对象名,一旦这个名 ...

  7. C++中函数的默认参数和C语言中volatile的学习

    1.函数默认参数 1 int func(int a,int b=10) 2 { 3 return a*b; 4 } 5 6 int main() 7 { 8 int c=func(2); 9 cout ...

  8. C语言中qsort函数用法

    C语言中qsort函数用法-示例分析    本文实例汇总介绍了C语言中qsort函数用法,包括针对各种数据类型参数的排序,非常具有实用价值非常具有实用价值. 分享给大家供大家参考.C语言中的qsort ...

  9. c语言中time相关函数

    工作中遇到的函数: int seed = time(NULL); srand(seed); signal(SIGINT, stop); signal(SIGUSR1, sig_usr1); 搜time ...

随机推荐

  1. HTTP协议及其相关

    URI.URL.URN URL,统一资源定位符,用来标识某一处资源的地址,必须包含协议和域名,协议指的是HTTP.FTP.WS.file等协议,域名就是常说的网址,比如www.baidu.com ,其 ...

  2. WCF优雅使用 KnownType标记的方法

    [KnownType("DerivedTypes")] [DataContract] public abstract class TaskBase { // other class ...

  3. Mybatis入门之动态sql

    Mybatis入门之动态sql 通过mybatis提供的各种标签方法实现动态拼接sql. 1.if.where.sql.include标签(条件.sql片段) <sql id="sel ...

  4. Snowflake(雪花算法)的JavaScript实现

    现在好多的ID都是服务器端生成的,当然JS也可以生成GUID或者UUID之类的,但是如果想要有序……这时就想到了雪花算法,但是都知道JS中Number的最大值为Number.MAX_SAFE_INTE ...

  5. php中读取中文文件夹及文件报错

    php读取时出现中文乱码 一般php输出中出现中文乱码我们可用 header ('content:text/html;charset="utf-8"'); php中读取中文文件夹及 ...

  6. Android RecyclerView 快速平滑返回顶部

    先看下实现的效果,没效果什么都白扯 下面直接上方法: //目标项是否在最后一个可见项之后 private boolean mShouldScroll; //记录目标项位置 private int mT ...

  7. linux查看硬盘占用情况

    Linux命令 : df -hl 使用后文件系统 容量 已用 可用 已用% 挂载点Filesystem Size Used Avail Use% Mounted on/dev/vda1 197G 5. ...

  8. ARDC连接设备异常之ADB version mismatch的处理

    如果ARDC提示ADB version mismatch,说明系统当前运行的adb server与client不匹配.此时如果在cmd.exe中运行adb devices命令则会出现类似如下的提示信息 ...

  9. Redis 由浅入深

    1.redis是什么? redis是nosql(也是个巨大的map) 单线程,但是可处理1秒10w的并发(数据都在内存中) 使用java对redis进行操作类似jdbc接口标准对mysql,有各类实现 ...

  10. log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [File] to set object on [TF.Log.FileAppender]

    难受,香菇. 大概研究了两个多小时,搜了很多资料都没有很完美的答案,最后突然脑子就一闪一闪,才弄明白咋回事. log4net:ERROR XmlHierarchyConfigurator: Canno ...