go语言基础语法-for循环语句
前言
循环语句,是基础语法中最重要的一部分,可以实现代码的反复执行。
一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。
与其它主流编程语言不同的的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构。
for 循环简单语句
语法:
for condition { }
for循环简单版
1) 无限循环
package mainimport "fmt"func main() {for true{fmt.Println("helloworld")}
}
2)无限循环中可以跳出
输入用户名密码,如果输入错了继续输入
package mainimport "fmt"func main() {for true {var user stringvar pass stringfmt.Println("请输入用户名和密码")fmt.Scanln(&user, &pass)if user == "laoxin" && pass == "123" {fmt.Println("登陆成功")break} else {fmt.Println("登陆失败,请重新输入密码")}}
}
4)有限循环
package mainimport "fmt"func main() {var n = 0for n < 5 {fmt.Println("helloworld")n++}
}
执行结果
package mainimport "fmt"func main() {var i = 0for i < 3 {var user stringvar pass stringfmt.Println("请输入用户名和密码")fmt.Scanln(&user, &pass)if user == "laoxin" && pass == "123" {fmt.Println("登陆成功")break} else {fmt.Println("登陆失败,请重新输入密码")}i++fmt.Println(i)}fmt.Println("登陆失败已经超过三次,你的密码被锁定")
}
但是这里要知道,最后一句话无论执行成功与否都会执行
如果想让他不执行:
package mainimport "fmt"func main() {var i = 0for i < 3 {var user stringvar pass stringfmt.Println("请输入用户名和密码")fmt.Scanln(&user, &pass)if user == "laoxin" && pass == "123" {fmt.Println("登陆成功")break} else {fmt.Println("登陆失败,请重新输入密码")}i++fmt.Println(i)//一定要把判断写作for循环内,因为出去循环,i失效if i == 3 {fmt.Println("登陆失败已经超过三次,你的密码被锁定")}}}
练习1
计算: 1+2+3+。。。+100
import "fmt"func main() {var total = 0var num = 1for num <= 100 {fmt.Println(total, num)total = num + totalnum++fmt.Println(total)}
}
练习2
循环的标准体
循环的三要素
- 声明初始变量
- 变量表达式
- 步进语句
for init;condition;post { // 循环体语句
}
init: 初始化语句,一般为赋值表达式,给控制变量赋初值;
condition:条件判断,一般是关系表达式或逻辑表达式,循环控制条件;
post: 步进语句,一般为赋值表达式,给控制变量增量或减量。
拿一个案例来看看我们的脚本的标准体的写法“:
举例: 打印1-100中的偶数
package mainimport "fmt"func main() {var num = 1 //初始化语句(init)for num <= 100 {//条件判断if num%2 == 0 {fmt.Println(num)}num++ //步进语句}}
这是我们常用的写法,但是官网推荐的写法,我们来对应下:
package mainimport "fmt"func main() {for num := 1; num <= 100; num++ {if num%2 == 0 {fmt.Println(num)}}}
执行顺序:
- 定义 num=1
- 判断num是否小于100
- 执行循环体 (条件判断)
- num++ 步进
强制退出循环机制
break continue
用的最多的是break, 比较难理解的是continue
break
遇到88 就退出循环
package mainimport "fmt"func main() {for num := 1; num <= 100; num++ {if num == 88 {fmt.Println(num)break}}
}
执行结果:
continue
遇到8的时候跳出当前循环
package mainimport "fmt"func main() {for num := 1; num <= 10; num++ {if num == 8 {continue //退出当前循环}fmt.Println(num)}
}
总结
for循环学完之后,基础语法算是基本学会了,后面把数组的一些用法学好,就可以利用基础语法做一些小的项目了。
在没学框架之前,小的项目都可以做。框架相当于封装,也就是自动化。
go语言基础语法-for循环语句相关推荐
- python语言入门z-python基础语法_8循环语句
while 循环 Python中while语句的一般形式: while 判断条件: 语句 无限循环 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下: 使用 CTRL+C 来退 ...
- 第三次学JAVA再学不好就吃翔(part14)--基础语法之循环语句注意事项
学习笔记,仅供参考 文章目录 JAVA基础语法 for, while, do...while的区别 死循环 循环嵌套 JAVA基础语法 for, while, do-while的区别 do-while ...
- educoder头歌实训 web课——JavaScript语言基础:JS循环语句
educoder头歌实训 太原理工大学web课程----JavaScript语法基础:JS运算符_玛卡巴卡的博客-CSDN博客 第1关:while类型 任务描述 质数的定义如下:大于1的自然数,且除 ...
- VBA基础语法:循环语句
目录 使用 Do...Loop 语句 直到条件为 True 时重复语句 直到条件变成 True 才重复语句 从循环内退出 Do...Loop 语句 使用 For...Next 语句 使用 For Ea ...
- GO语言-基础语法:循环
golang只有for没有while package mainimport ("fmt""os""bufio" )func fortest( ...
- 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)
我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位
- Go语言 基础语法学习 (未完待更......
文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...
- C语言基础语法【1】
目录 1.在linux系统编写C语言,基本命令:变量.常量.标识符 2.数据类型.取值范围.字符串 3.短路原则.类型转换 4.switch语句.for.while循环.死循环 1.在linux系统编 ...
- c语言怎么做步骤循环,C语言基础教程之循环
此程序已经陷入无限循环中,C语言基础教程之循环 当一段代码需要执行多次时,您可能会遇到这种情况.通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结 ...
最新文章
- GitHub 上有哪些适合新手跟进的优质项目?(附地址)
- 乔氏西去,敬告各位!
- ubi-partman failed with exit code 141
- Python 中引入多个模块,包的概念
- group by很多字段是不是会很慢_面试官:数据量很大,分页查询很慢,有什么优化方案?...
- 建立简单的服务器端程序
- qr码生成_从Java程序生成QR码图像
- char p[]与char *p的区别
- 计算机硬件性能关联性,计算机硬件系统组成课堂教学有效研究结题报告.ppt
- 单双面打印价格一样吗_正式合同应该打印单面还是双面?
- OFDM链路自适应算法 注水算法简单c++实现
- 解决app安装失败,并出现Package [pkg1] attempting to redeclare permission [perm] already owned by [pkg2]异常的问题
- WPS页眉不同页之间的修改
- 符号常量和常变量的区别
- PHP的介绍及应用,ajax的介绍及应用,跨域问题及jsonp解决方法
- win7电脑无法设置默认打开方式
- IOS应用分发的三种方式
- linux怎样配置文件,Linux常见的配置文件
- 看的见的算法系列——插入排序
- 软通动力:电子签是HR数字化的重要抓手