go中的 4种 for循环
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循环的更多相关文章
- 详细介绍javascript中的几种for循环的区别
偶然间见到了forEach循环,感觉很新奇,就研究了一下,顺带着把js中的几种for循环做了一个比较. 首先,简单说一下,js中一共大概有四种for循环:(1).那种简单常见的for循环:(2).fo ...
- 在存储过程中执行3种oracle循环语句
create or replace procedure pr_zhaozhenlong_loop /* 名称:在存储过程中执行3种循环语句 功能:利用循环给表中插入数据 调用: begin -- Ca ...
- Java中的几种常用循环
循环的条件 反复执行一段相同或相似的代码 一 for循环 先判断,再执行 代码示例为 ① for (int i = 0; i < args.length; i++) ...
- java中三种for循环之间的对比
普通for循环语法: for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } foreac ...
- 好文:javascript中的四种循环
https://juejin.im/entry/5a1654e951882554b8373622?utm_medium=hao.caibaojian.com&utm_source=hao.ca ...
- js中两种for循环的使用
针对两种for循环的使用 1. for in循环的使用环境 可用在字符串.数组.对象中, 需注意:其中遍历对象得到的是每个key 的value值 2. for 变量递加的方式 ...
- JavaScript 中的12种循环遍历方法
原文:JavaScript 中的12种循环遍历方法 题目:请介绍 JavaScript 中有哪些循环和遍历的方法,说说它们的应用场景和优缺点? 1.for 循环 let arr = [1,2,3];f ...
- 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中最常用 ...
- 浅谈SQL Server中的三种物理连接操作
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】
在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运 ...
随机推荐
- <vue初体验> 基础知识 4、 vue的生命周期
系列导航 <vue初体验> 一. vue的引入和使用体验 <vue初体验> 二. vue的列表展示 <vue初体验> 三. vue的计数器 <vue初体验&g ...
- 《3D编程模式》写书-第6次记录
大家好,这段时间我完成了对初稿的第二轮修改,已经把稿子提交给编辑了 这里是所有的的写书记录: <3D编程模式>写书记录 本轮修改主要进行了下面的修改: 修改UML描述 增加依赖关系 角色之 ...
- UNI-APP 使用Echart
UNI-APP 使用Echart(含地图教程) https://blog.csdn.net/weixin_43548442/article/details/121468189 uniapp使用echa ...
- Threejs实现一个园区
一.实现方案 单独贴代码可能容易混乱,所以这里只讲实现思路,代码放在最后汇总了下. 想要实现一个简单的工业园区.主要包含的内容是一个大楼.左右两片停车位.四条道路以及多个可在道路上随机移动的车辆.遇到 ...
- java进阶(17)--Random
一.Random随机数 java.unil.Random类 Random randomnum = new Random(); int num = randomnum.nextInt(); 二.举例 ...
- 如何让pc端网站在手机上可以等比缩放的整个显示
将 头部标签的 <meta name="viewport" content="width=device-width, initial-scale=1.0&qu ...
- 【面试题精讲】你了解String.intern方法吗
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 String.intern 方法是 Java 中 ...
- [转帖]Oracle 19c 新特性|增加 VARCHAR2 数据类型的大小限制
JiekeXuAll China Database Union2022-10-13 795 经朋友介绍,我读完 Tim Hall 于 2022 年 9 月 27 日他的博客上发表的博文.10 月 11 ...
- [转帖]kubernetes(k8s):容器资源限制(内存限制、cpu限制、namespace限制)
文章目录 1. k8s容器资源限制 2. 内存资源限制实例 3. cpu资源限制 4. namespace设置资源限制 5. namespace中pod的配额 6. namespace的创建.使用和删 ...
- [转帖]Oracle JDBC中的语句缓存
老熊 Oracle性能优化 2013-09-13 在Oracle数据库中,SQL解析有几种: 硬解析,过多的硬解析在系统中产生shared pool latch和library cache liatc ...