for 循环语法和执行流程 | 学习笔记

简介: 快速学习 for 循环语法和执行流程

开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: ffor 循环语法和执行流程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/625/detail/9574


for 循环语法和执行流程

目录:

一、基本语法

二、For 循环执行流程分析

 

一、基本语法

1、语法格式

for 循环变量初始化;循环条件;循环变量迭代{

循环操作(语句)

}

2、说明 for 循环四要素:

对 for 循环来说,有四个要素

要素1:循环变量初始化,也就是说需要有循环变量然后进行初始化。

要素2:循环条件,循环条件会判断循环是否继续执行。

要素3:循环操作(语句),也叫循环体,循环体就是要具体做的事情,完成的功能是什么。就像上个案例讲的 fmt.Println(“你好,尚硅谷”,i) 就是循环操作。

要素5:循环变量迭代

3、for 循环执行的顺序说明

(1)第一步首先执行循环变量的初始化,比如初始化 i:=1

(2)第二步执行循环条件的判断,比如判断 i<= 10

(3)如果循环条件为真,就执行循环体的循环操作:比如 fmt.Println(“...”)

(4)继续再执行循环变量迭代,比如 i++

(5)执行完后又反复执行 2,3,4 步骤,直到循环条件为假 False ,就退出 for 循环

可能这样讲解后还是不清晰,所以下面再次进行流程图的分析。

 

二、For 循环执行流程分析

1、For 循环的流程图

image.png

说明:

首先代码从最上面开始执行,进行变量初始化,放到之前的分析的话就是 i=1,执行完后进行条件的判断,如果为真就执行循环操作,只要循环条件不为假,就会一直循环下去,直到循环条件为假,就为 Flase 才会跳出循环,for 循环结束后如果下面还有代码就继续执行,没有代码就结束程序。

2、对照代码分析 for 循环的执行过程

下面将根据如图的代码进行讲解代码的执行和内存的变化。在图中假设一个内存区,一个终端区,终端就是控制台。

image.png

如果代码从 for 开始启动,首先把代码要素提取出来,分别是 i:=1 变量的初始化,i<=10 是循环条件,fmt.Println 是循环执行语句,i++ 是循环变量的迭代。然后执行语句 i:=1,则会有一个变量i在内存中赋值为 1,第一句话就执行完了。然后执行判断 i<=10,如果 i<=10 为真就执行下面的语句 Println,这时 i=1,则会在终端输出“你好,尚硅谷 1”,第二步执行完后执行 i++,而内存中 i 的赋值则为 i[2],紧接着再进行判断,这时判断i仍然小于等于 10,然后再执行 Println 语句,这时再控制台会输出第二句“你好,尚硅谷 2”,执行完后又执行 i++,于是 i=3,以此类推不停的走,直到输出“你好,尚硅谷 9”,输出后紧接着就会进行 i++,进行判断i仍然小于等于 10,则再进行输出“你好,尚硅谷 10”,输出后再进行 i++,然后内存中 i=11,再继续进行判断时,i=11 大于 10,于是进行退出,所以此时就跳出了 for 循环,这里要注意结束 for 循环后 i 是等于 11 的,所以得出结论:当 for 循环结束后i的值是一定是大于 10 的,不大于 10 的话会一直循环。这一点非常重要,要理解,下面输出 i 的值进行验证:

如果代码如下:

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

fmt.Println(“你好,尚硅谷”,i)

}

fmt.Println(“i=”,i)

}

则会出现报错,因为变量 i 是在 for 循环进行定义的,因此 i 的作用域只能在 for 循环中有效,出了这个 for 循环i就是无效的,所以此时会报错 undefined:i,因此如果要进行测试输出的话,就要把 i 定义到 for 循环外,此时再进行输出,运行程序。

代码为:

i:= 1

for; i < = 10; i++{

fmt.Println(“你好,尚硅谷”,i)

}

fmt.Println(“i=”,i)

}

运行结果:
D:\goproject\src\go_code\chapter05\fordemo>go run main .go

image.png

相关文章
|
2月前
|
C++
C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓
C++ 中的条件语句用于根据布尔表达式的真假执行不同代码。`if` 用于当条件为真时执行一段代码,`else` 配合 `if` 在条件不成立时执行另一段代码。`else if` 允许测试额外的条件。`switch` 语句提供多分支选择。还有三元运算符 `(condition) ? expressionTrue : expressionFalse`,它是一种简写的 if...else 形式,常用于一行内作出决定。
48 0
|
2月前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
28 1
|
2月前
|
C语言
C语言中的条件控制循环:深入解析与实战应用
C语言中的条件控制循环:深入解析与实战应用
34 1
|
2月前
|
算法 程序员 C++
C++程序中的循环语句:实现重复执行的关键
C++程序中的循环语句:实现重复执行的关键
30 2
|
2月前
|
C++
C++ While 和 For 循环:流程控制全解析
本文介绍了C++中的`switch`语句和循环结构。`switch`语句根据表达式的值执行匹配的代码块,可以使用`break`终止执行并跳出`switch`。`default`关键字用于处理没有匹配`case`的情况。接着,文章讲述了三种类型的循环:`while`循环在条件满足时执行代码,`do/while`至少执行一次代码再检查条件,`for`循环适用于已知循环次数的情况。`for`循环包含初始化、条件和递增三个部分。此外,还提到了嵌套循环和C++11引入的`foreach`循环,用于遍历数组元素。最后,鼓励读者关注微信公众号`Let us Coding`获取更多内容。
34 0
|
9月前
|
Python
python之while循环,无限循环,while循环的嵌套的定义和使用。
python之while循环,无限循环,while循环的嵌套的定义和使用。
|
12月前
|
小程序
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
453 0
|
存储 Python
15.从入门到精通:Python循环语句 while 循环 无限循环 while 循环使用 else 语句 简单语句组 for 语句 for...else
15.从入门到精通:Python循环语句 while 循环 无限循环 while 循环使用 else 语句 简单语句组 for 语句 for...else
|
Shell
应该是你见过最详细的shell编程循环语句解析了(for循环、while循环、until循环)(二)
应该是你见过最详细的shell编程循环语句解析了(for循环、while循环、until循环)(二)
162 0
应该是你见过最详细的shell编程循环语句解析了(for循环、while循环、until循环)(二)
|
Java Scala 开发者
for 循环的两种方式|学习笔记
快速学习 for 循环的两种方式。
89 0