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 的运 ...
随机推荐
- 通过设置 Chrome 解决开发调用跨域问题
转载请注明出处: 项目采用的是前后端分离的方式,前端本地访问方式是 localhost:8080,访问本地后台服务时,通过 localhost:9000 进行访问 本地后端服务.在本地通过chrome ...
- 12-Verilog-同步FIFO设计
同步FIFO和异步FIFO FIFO分为一个同步FIFO,一个异步FIFO,FIFO有读口和写口 读写时钟是一个,就是同步FIFO;读写时钟不是一个,异步FIFO IP核设计中,一般使用同步FIFO设 ...
- 【SHELL】命令补全
# 指定文件 dodo_path=/home/skull/work/scripts/dodo echo "hello skull" ## COMP_WORDS 是一个 bash 内 ...
- Go-基本类型-int-float-bool-byte-rune
- Go-数组-切片
- Linux-日期时间-date
- [转帖]tgz 安装clickhouse
一.什么是clickhouse ClickHouse是开源的列式存储数据库(DBMS),主要用于在线处理查询(OLAP),能够使用SQL查询实时生成数据分析报告. 下面介绍下安装clickhouse. ...
- [转帖]Linux系统安装之后,如何调节CPU性能策略
https://baize.cc/posts/efc.html#:~:text=Linux%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85%E4%B9%8B%E5%90%8E% ...
- [转帖]linux 批量修改文件格式
将Windows上的shell脚本拷贝到Linux时,脚本的编码格式还是docs,需要改成unix才可执行,在文件不多的情况下可以直接手动更改,但是在脚本文件比较多的时候,手动改起来就太麻烦了,此时就 ...
- 【解决了一个小问题】terraform apply 的时候出现访问 localhost 出错
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 有这样一段 terraform 的部署脚本: provid ...