Go指南笔记_02(基本控制语句)

请注意,本文编写于 642 天前,最后修改于 191 天前,其中某些信息可能已经过时。

Go指南

for

在Go语言只有一种循环语句 for 循环, Go语言中的for循环的三个组成语句不需要使用()括起来.

for中的三条语句其实都是可选的.

当省略掉初始化语句和后置语句的时候其实两个 ; 也是可以省略的,这就是我们在其他编程语言中所见的while语句.

当三条语句都省略的时候如果在for循环中不加其他的判断语句,就构成了一个死循环.

if

if语句如果for语句一样,同样可以省略掉包裹判断条件的 ().

Go中的if语句可以在条件执行之前执行一个简单语句,但是这个语句中所定义的变量的作用域只是在if的范围之内.

switch

switch的条件从上到下执行,当匹配成功时终止(使用fallthrough时候除外)

Go语言中的switch中的case可以是一个条件表达式,当switch没有条件的时候会执行case的条件表达式进行判断.

fallthrough

在switch中case后面加了fallthrough就跟OC中在case后面没有添加break的用法是类似的.

  • 会直接执行紧跟其后的一个case或者default语句,无论case的条件满足与否都会执行
  • 加了fallthrough,如果case条件中定义常量或者变量则会报错
  • 当程序执行完fallthrough之后,本条件就结束了,本条件之后的其他语句不会继续执行

defer

defer语句会延迟函数的执行直到上层函数返回.这条defer语句的参数会在程序走到defer的时候立即生成,但是在上层函数返回前函数都不会被调用.

延迟函数调用被压入一个栈中,当函数返回的时候,会按照后入先出的顺序调用被延迟的函数调用.

Comments

添加新评论