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

相关文章
|
7月前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
77 1
|
4月前
|
JavaScript 前端开发
JavaScript基础&实战(3)js中的流程控制语句、条件分支语句、for循环、while循环
这篇文章讲解了JavaScript中的流程控制语句,包括基本的if条件判断、弹窗提示输入、switch条件分支语句、while和do...while循环以及for循环的使用和示例。
JavaScript基础&实战(3)js中的流程控制语句、条件分支语句、for循环、while循环
|
7月前
|
C#
C#基础语法(判断和循环)
C#基础语法(判断和循环)
64 1
|
人工智能
循环结构 程序举例
循环结构 程序举例
73 0
|
小程序
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
523 0
|
存储 Python
15.从入门到精通:Python循环语句 while 循环 无限循环 while 循环使用 else 语句 简单语句组 for 语句 for...else
15.从入门到精通:Python循环语句 while 循环 无限循环 while 循环使用 else 语句 简单语句组 for 语句 for...else
|
Java 编译器
[Java基础]基本概念(下)运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用
在上一篇文章[Java基础]基本概念(上)(标识符,关键字,基本数据类型)_小王师傅66的博客-CSDN博客中,我们学习了Java基础基本概念中的标识符,关键字,基本数据类型。这篇文章,我们将学习:运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用。
100 0
|
XML Java 数据格式
【Lua基础 第3章】变量、赋值语句、索引、lua中的循环、循环控制语句
lua 中的变量、赋值语句、索引、lua中的循环、循环控制语句
171 0
【Lua基础 第3章】变量、赋值语句、索引、lua中的循环、循环控制语句
|
Java Scala 开发者
for 循环的两种方式|学习笔记
快速学习 for 循环的两种方式。
118 0