package main

import "fmt"

func main() {
// 第一种写法
for i := 1;i < 10; i++ {
fmt.Println("Hello Golang");
} // 第二种写法
j := 1
for j < 10 {
fmt.Println("Hello Go")
j++
} // for 死循环,通常配合break使用
k := 1
for {
if k <= 10 {
fmt.Println("Hello")
} else {
break
}
k++ }
}

其他语言通常都有 for, while, do while 几种循环。但是 Go 只有一种 for 循环,是因为设计者认为,只需要 for 循环就已经足够完成 while 和 do while 的功能。

3 part loop, 类似于 C 中最常见的 for loop
for i := 0; i <= 10; i++ {
}
1
2
while loop
for x == true {
}
1
2
do while loop
for {
if x {
break;
}
}
1
2
3
4
5
infinite loop
for {
}
1
2

小公鸡卡哇伊呀~
关注

1

0

0

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

可以参考如下公式:

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

执行顺序

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

使用方式举例:

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

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

2.替代while语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.多条件(多重赋值)

1
2
3
4
5
6
7
8
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.无限循环

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

go中的 4种 for循环的更多相关文章

  1. 详细介绍javascript中的几种for循环的区别

    偶然间见到了forEach循环,感觉很新奇,就研究了一下,顺带着把js中的几种for循环做了一个比较. 首先,简单说一下,js中一共大概有四种for循环:(1).那种简单常见的for循环:(2).fo ...

  2. 在存储过程中执行3种oracle循环语句

    create or replace procedure pr_zhaozhenlong_loop /* 名称:在存储过程中执行3种循环语句 功能:利用循环给表中插入数据 调用: begin -- Ca ...

  3. Java中的几种常用循环

     循环的条件 反复执行一段相同或相似的代码 一     for循环        先判断,再执行   代码示例为 ① for (int i = 0; i < args.length; i++) ...

  4. java中三种for循环之间的对比

    普通for循环语法: for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } foreac ...

  5. 好文:javascript中的四种循环

    https://juejin.im/entry/5a1654e951882554b8373622?utm_medium=hao.caibaojian.com&utm_source=hao.ca ...

  6. js中两种for循环的使用

    针对两种for循环的使用 1. for in循环的使用环境     可用在字符串.数组.对象中, 需注意:其中遍历对象得到的是每个key  的value值  2. for 变量递加的方式        ...

  7. JavaScript 中的12种循环遍历方法

    原文:JavaScript 中的12种循环遍历方法 题目:请介绍 JavaScript 中有哪些循环和遍历的方法,说说它们的应用场景和优缺点? 1.for 循环 let arr = [1,2,3];f ...

  8. javascript中的12种循环遍历方法1

    1:for循环 let arr = [1,2,3]; for(let i =0;i<arr.length;i++){ console.log(i,arr[i]) } //for循环是js中最常用 ...

  9. 浅谈SQL Server中的三种物理连接操作

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  10. iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

                   在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运 ...

随机推荐

  1. <vue初体验> 基础知识 4、 vue的生命周期

    系列导航 <vue初体验> 一. vue的引入和使用体验 <vue初体验> 二. vue的列表展示 <vue初体验> 三. vue的计数器 <vue初体验&g ...

  2. 《3D编程模式》写书-第6次记录

    大家好,这段时间我完成了对初稿的第二轮修改,已经把稿子提交给编辑了 这里是所有的的写书记录: <3D编程模式>写书记录 本轮修改主要进行了下面的修改: 修改UML描述 增加依赖关系 角色之 ...

  3. UNI-APP 使用Echart

    UNI-APP 使用Echart(含地图教程) https://blog.csdn.net/weixin_43548442/article/details/121468189 uniapp使用echa ...

  4. Threejs实现一个园区

    一.实现方案 单独贴代码可能容易混乱,所以这里只讲实现思路,代码放在最后汇总了下. 想要实现一个简单的工业园区.主要包含的内容是一个大楼.左右两片停车位.四条道路以及多个可在道路上随机移动的车辆.遇到 ...

  5. java进阶(17)--Random

    一.Random随机数 java.unil.Random类 Random randomnum = new Random(); int num = randomnum.nextInt();   二.举例 ...

  6. 如何让pc端网站在手机上可以等比缩放的整个显示

      将 头部标签的  <meta name="viewport" content="width=device-width, initial-scale=1.0&qu ...

  7. 【面试题精讲】你了解String.intern方法吗

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 String.intern 方法是 Java 中 ...

  8. [转帖]Oracle 19c 新特性|增加 VARCHAR2 数据类型的大小限制

    JiekeXuAll China Database Union2022-10-13 795 经朋友介绍,我读完 Tim Hall 于 2022 年 9 月 27 日他的博客上发表的博文.10 月 11 ...

  9. [转帖]kubernetes(k8s):容器资源限制(内存限制、cpu限制、namespace限制)

    文章目录 1. k8s容器资源限制 2. 内存资源限制实例 3. cpu资源限制 4. namespace设置资源限制 5. namespace中pod的配额 6. namespace的创建.使用和删 ...

  10. [转帖]Oracle JDBC中的语句缓存

    老熊 Oracle性能优化 2013-09-13 在Oracle数据库中,SQL解析有几种: 硬解析,过多的硬解析在系统中产生shared pool latch和library cache liatc ...