Go语言循环语句 | 青训营笔记

66 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

一、本堂课重点内容

本堂课的知识要点有哪些?

  • Go语言for语句
  • Go语言break语句
  • Go语言continue语句
  • Go语言goto语句

二、详细知识点介绍

本堂课介绍了哪些知识点?

Go语言for语句

  1. Go语言不同于其它语言,它仅有for循环,而没有whiledo-while循环。for循环的基本语法格式为:

    for 可选前置子句; 布尔表达式; 可选后置子句 {
    	循环体
    }
    

    for子句主要是指前置子句和后置子句,它们都是可选的,所有子句必须为简单语句。前置子句多用来声明循环变量,后置子句多用来修改循环变量。

  2. Go语言专门提供了一个迭代关键字range,配合for循环,用来完成迭代字符串、数组、切片、通道等操作,其语法格式为:

    for 变量1, 变量2 := range 迭代对象 {
    	循环体
    }
    
  3. range迭代的对象:可以是数组(array)、切片(slice)、字符串(string)、映射(map)及通道(channel)。不同的迭代对象,其返回的值也不同:

    变量1变量2迭代对象
    indexarrayName[index]array
    indexsliceName[index]slice
    indexstringName[index]string
    keymapName[index]map
    elementsliceName[index]chan
  4. for...range遍历语句中的for后面不再支持加入子句,如果加入了子句会编译出错。

  5. for循环的结束由其逻辑表达式的值决定,当出现逻辑假时,循环结束。如果有必要,可以人为地结束循环,这就是break语句的使用。

Go语言break语句

  1. break语句用于退出当前循环,也就是break所在的最内层循环。如果需要退出到指定循环,则需要在break后边附加标签。
  2. break后加标签用以指明是退至哪一层循环,如果不加标签,则退出break所在循环。
  3. break标签仅适合于forswitchselect语句。

Go语言continue语句

  1. continue语句只适合于for循环,不适合于switchselect语句。
  2. continue只中断本轮循环,进入下一轮循环,不会退出整个循环体。
  3. continue语句的执行逻辑是中断本轮循环,将程序控制流程返回到for后置子句,重新计算循环次数,接着计算逻辑表达式的值;如果为true,则进入下一轮循环;如果为false,则直接退出循环,等同执行break语句。
  4. 如果for语句没有后置子句,循环计数器位于continue语句后面,则continue会忽略该计数器的修改,直接返回for语句执行判断,这样极易导致死循环。

Go语言goto语句

  1. goto语句是程序流程跳转语句,改变程序流程,直接跳转到同一函数内某个标签所在的位置。goto语句不允许跨越函数,否则编译系统会报错。
  2. goto语句不可以跳入某一个循环当中。
  3. goto语句标签的放置不正确,可能导致程序崩溃。

三、引用参考

我参考了哪些外部博客/笔记/文章?