杭州企业网站建站模板,营销型网站建设便宜,聚名网,外贸网站的作用本文原文#xff1a;http://golang.iswbm.comGithub#xff1a;http://github.com/iswbm/GolangCodingTimeGo里的流程控制方法还是挺丰富#xff0c;整理了下有如下这么多种#xff1a;if - else 条件语句switch - case 选择语句for - range 循环语句goto 无条件跳转语句de…本文原文http://golang.iswbm.comGithubhttp://github.com/iswbm/GolangCodingTimeGo里的流程控制方法还是挺丰富整理了下有如下这么多种if - else 条件语句switch - case 选择语句for - range 循环语句goto 无条件跳转语句defer 延迟执行上一篇讲了switch - case 选择语句今天先来讲讲 for 循环语句。0. 语句模型这是 for 循环的基本模型。for [condition | ( init; condition; increment ) | Range]
{statement(s);
}可以看到 for 后面可以接三种类型的表达式。接一个条件表达式接三个表达式接一个 range 表达式但其实还有第四种不接表达式1. 接一个条件表达式这个例子会打印 1 到 5 的数值。a : 1
for a 5 {fmt.Println(a)a
}输出如下1
2
3
4
52. 接三个表达式for 后面紧接着三个表达式使用 ; 分隔。这三个表达式各有各的用途第一个表达式初始化控制变量在整个循环生命周期内只运行一次第二个表达式设置循环控制条件当返回true继续循环返回false结束循环第三个表达式每次循完开始除第一次时给控制变量增量或减量。这边的例子和上面的例子是等价的。import fmtfunc main() {for i : 1; i 5; i {fmt.Println(i)}
}输出如下 1
2
3
4
52. 不接表达式无限循环在 Go 语言中没有 while 循环如果要实现无限循环也完全可以 for 来实现。当你不加任何的判断条件时 就相当于你每次的判断都为 true程序就会一直处于运行状态但是一般我们并不会让程序处于死循环在满足一定的条件下可以使用关键字 break 退出循环体也可以使用 continue 直接跳到下一循环。下面两种写法都是无限循环的写法。for {代码块
}// 等价于
for ;; {代码块
}举个例子import fmtfunc main() {var i int 1for {if i 5 {break}fmt.Printf(hello, %dn, i)i}
}输出如下hello, 1
hello, 2
hello, 3
hello, 4
hello, 53. 接 for-range 语句遍历一个可迭代对象是一个很常用的操作。在 Go 可以使用 for-range 的方式来实现。range 后可接数组、切片字符串等由于 range 会返回两个值索引和数据若你后面的代码用不到索引需要使用 _ 表示 。import fmtfunc main() {myarr : [...]string{world, python, go}for _, item : range myarr {fmt.Printf(hello, %sn, item)}
}输出如下hello, world
hello, python
hello, go如果你用一个变量来接收的话接收到的是索引import fmtfunc main() {myarr : [...]string{world, python, go}for i : range myarr {fmt.Printf(hello, %vn, i)}
}输出如下hello, 0
hello, 1
hello, 2好了今天的文章就到这里了。若今天的分享对你有帮助不如点个赞支持一下