这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
一、本堂课重点内容
本堂课的知识要点有哪些?
- Go语言for语句
- Go语言break语句
- Go语言continue语句
- Go语言goto语句
二、详细知识点介绍
本堂课介绍了哪些知识点?
Go语言for语句
-
Go语言不同于其它语言,它仅有
for循环,而没有while和do-while循环。for循环的基本语法格式为:for 可选前置子句; 布尔表达式; 可选后置子句 { 循环体 }for子句主要是指前置子句和后置子句,它们都是可选的,所有子句必须为简单语句。前置子句多用来声明循环变量,后置子句多用来修改循环变量。 -
Go语言专门提供了一个迭代关键字
range,配合for循环,用来完成迭代字符串、数组、切片、通道等操作,其语法格式为:for 变量1, 变量2 := range 迭代对象 { 循环体 } -
range迭代的对象:可以是数组(array)、切片(slice)、字符串(string)、映射(map)及通道(channel)。不同的迭代对象,其返回的值也不同:变量1 变量2 迭代对象 indexarrayName[index]arrayindexsliceName[index]slice indexstringName[index]stringkeymapName[index]mapelementsliceName[index]chan -
for...range遍历语句中的for后面不再支持加入子句,如果加入了子句会编译出错。 -
for循环的结束由其逻辑表达式的值决定,当出现逻辑假时,循环结束。如果有必要,可以人为地结束循环,这就是break语句的使用。
Go语言break语句
break语句用于退出当前循环,也就是break所在的最内层循环。如果需要退出到指定循环,则需要在break后边附加标签。break后加标签用以指明是退至哪一层循环,如果不加标签,则退出break所在循环。break标签仅适合于for、switch及select语句。
Go语言continue语句
continue语句只适合于for循环,不适合于switch和select语句。continue只中断本轮循环,进入下一轮循环,不会退出整个循环体。continue语句的执行逻辑是中断本轮循环,将程序控制流程返回到for后置子句,重新计算循环次数,接着计算逻辑表达式的值;如果为true,则进入下一轮循环;如果为false,则直接退出循环,等同执行break语句。- 如果
for语句没有后置子句,循环计数器位于continue语句后面,则continue会忽略该计数器的修改,直接返回for语句执行判断,这样极易导致死循环。
Go语言goto语句
goto语句是程序流程跳转语句,改变程序流程,直接跳转到同一函数内某个标签所在的位置。goto语句不允许跨越函数,否则编译系统会报错。goto语句不可以跳入某一个循环当中。goto语句标签的放置不正确,可能导致程序崩溃。