前言

循环语句,是基础语法中最重要的一部分,可以实现代码的反复执行。

一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。

与其它主流编程语言不同的的是,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

循环的标准体

循环的三要素

  1. 声明初始变量
  2. 变量表达式
  3. 步进语句
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)}}}

执行顺序:

  1. 定义 num=1
  2. 判断num是否小于100
  3. 执行循环体 (条件判断)
  4. 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循环语句相关推荐

  1. python语言入门z-python基础语法_8循环语句

    while 循环 Python中while语句的一般形式: while 判断条件: 语句 无限循环 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下: 使用 CTRL+C 来退 ...

  2. 第三次学JAVA再学不好就吃翔(part14)--基础语法之循环语句注意事项

    学习笔记,仅供参考 文章目录 JAVA基础语法 for, while, do...while的区别 死循环 循环嵌套 JAVA基础语法 for, while, do-while的区别 do-while ...

  3. educoder头歌实训 web课——JavaScript语言基础:JS循环语句

    educoder头歌实训 太原理工大学web课程----JavaScript语法基础:JS运算符_玛卡巴卡的博客-CSDN博客 第1关:while类型 任务描述 质数的定义如下:大于1的自然数,且除 ...

  4. VBA基础语法:循环语句

    目录 使用 Do...Loop 语句 直到条件为 True 时重复语句 直到条件变成 True 才重复语句 从循环内退出 Do...Loop 语句 使用 For...Next 语句 使用 For Ea ...

  5. GO语言-基础语法:循环

    golang只有for没有while package mainimport ("fmt""os""bufio" )func fortest( ...

  6. 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)

    我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位

  7. Go语言 基础语法学习 (未完待更......

    文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...

  8. C语言基础语法【1】

    目录 1.在linux系统编写C语言,基本命令:变量.常量.标识符 2.数据类型.取值范围.字符串 3.短路原则.类型转换 4.switch语句.for.while循环.死循环 1.在linux系统编 ...

  9. c语言怎么做步骤循环,C语言基础教程之循环

    此程序已经陷入无限循环中,C语言基础教程之循环 当一段代码需要执行多次时,您可能会遇到这种情况.通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结 ...

最新文章

  1. GitHub 上有哪些适合新手跟进的优质项目?(附地址)
  2. 乔氏西去,敬告各位!
  3. ubi-partman failed with exit code 141
  4. Python 中引入多个模块,包的概念
  5. group by很多字段是不是会很慢_面试官:数据量很大,分页查询很慢,有什么优化方案?...
  6. 建立简单的服务器端程序
  7. qr码生成_从Java程序生成QR码图像
  8. char p[]与char *p的区别
  9. 计算机硬件性能关联性,计算机硬件系统组成课堂教学有效研究结题报告.ppt
  10. 单双面打印价格一样吗_正式合同应该打印单面还是双面?
  11. OFDM链路自适应算法 注水算法简单c++实现
  12. 解决app安装失败,并出现Package [pkg1] attempting to redeclare permission [perm] already owned by [pkg2]异常的问题
  13. WPS页眉不同页之间的修改
  14. 符号常量和常变量的区别
  15. PHP的介绍及应用,ajax的介绍及应用,跨域问题及jsonp解决方法
  16. win7电脑无法设置默认打开方式
  17. IOS应用分发的三种方式
  18. linux怎样配置文件,Linux常见的配置文件
  19. 看的见的算法系列——插入排序
  20. 软通动力:电子签是HR数字化的重要抓手

热门文章

  1. 目标检测 慎用旋转数据增强
  2. 蓝桥杯数码管动态显示
  3. 2022-4-12 Leetcode 452.用最少数量的箭引爆气球
  4. 走出行业暴利思维,开始为“软件”付钱!
  5. Mac Ffmpeg 合成视频
  6. 基于51单片机的蓝牙台灯
  7. 时间GMT UTC 夏令时
  8. 光纤、光模块为什么成对的?
  9. 经验——从普通一本跨考东北大学计算机研究生
  10. fu811电子管参数_贵族之声电子管,FU-811,FU-811J,811A,811C,发射管,胆管