go语言基础语法-for循环语句

前言

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

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

与其它主流编程语言不同的的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构。

for 循环简单语句

在这里插入图片描述

语法:

for condition { }

for循环简单版

1) 无限循环
package main

import "fmt"

func main() {
	for true{
		fmt.Println("helloworld")

	}
}

2)无限循环中可以跳出

输入用户名密码,如果输入错了继续输入

package main

import "fmt"

func main() {
	for true {
		var user string
		var pass string
		fmt.Println("请输入用户名和密码")
		fmt.Scanln(&user, &pass)

		if user == "laoxin" && pass == "123" {

			fmt.Println("登陆成功")
			break
		} else {
			fmt.Println("登陆失败,请重新输入密码")
		}

	}
}

在这里插入图片描述

4)有限循环
package main

import "fmt"

func main() {
	var n = 0
	for n < 5 {

		fmt.Println("helloworld")
		n++
	}
}

执行结果
在这里插入图片描述

package main

import "fmt"

func main() {

	var i = 0
	for i < 3 {

		var user string
		var pass string
		fmt.Println("请输入用户名和密码")
		fmt.Scanln(&user, &pass)

		if user == "laoxin" && pass == "123" {

			fmt.Println("登陆成功")
			break
		} else {
			fmt.Println("登陆失败,请重新输入密码")
		}
		i++
		fmt.Println(i)

	}
	fmt.Println("登陆失败已经超过三次,你的密码被锁定")
}

但是这里要知道,最后一句话无论执行成功与否都会执行

如果想让他不执行:

package main

import "fmt"

func main() {

	var i = 0
	for i < 3 {

		var user string
		var pass string
		fmt.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 = 0
	var num = 1
	for num <= 100 {
		fmt.Println(total, num)
		total = num + total
		num++

		fmt.Println(total)
	}
}

练习2

循环的标准体

循环的三要素

  1. 声明初始变量
  2. 变量表达式
  3. 步进语句
for init;condition;post { 
    // 循环体语句
}

init: 初始化语句,一般为赋值表达式,给控制变量赋初值;

condition:条件判断,一般是关系表达式或逻辑表达式,循环控制条件;

post: 步进语句,一般为赋值表达式,给控制变量增量或减量。

拿一个案例来看看我们的脚本的标准体的写法“:

举例: 打印1-100中的偶数

package main

import "fmt"

func main() {

	var num = 1  //初始化语句(init)
	for num <= 100 {
	//条件判断
		if num%2 == 0 {

			fmt.Println(num)
		}

		num++  //步进语句
	}

}

这是我们常用的写法,但是官网推荐的写法,我们来对应下:

package main

import "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 main

import "fmt"

func main() {

	for num := 1; num <= 100; num++ {

		if num == 88 {
			fmt.Println(num)
			break
		}

	}
}

执行结果:
在这里插入图片描述

continue

遇到8的时候跳出当前循环

package main

import "fmt"

func main() {

	for num := 1; num <= 10; num++ {

		if num == 8 {

			continue //退出当前循环
		}
		fmt.Println(num)
	}
}

总结

for循环学完之后,基础语法算是基本学会了,后面把数组的一些用法学好,就可以利用基础语法做一些小的项目了。

在没学框架之前,小的项目都可以做。框架相当于封装,也就是自动化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网老辛

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值