5.5. 分号

Go语言与C一样都是采用分号来结束一条语句,不一样的是,并不是所有的源码 都要使用分号。Go是采用语法解析器自动在每行末增加分号,所有你在写代码的 时候可以把分号缩略.

这个规则是: 如果一个标记(token)的前一行是标识符(identifier)(就像"int"或 "float64"), 比如: 数字,一个字符串或一个标记.

  break continue fallthrough return ++ -- ) }

那么语法解析器就会在标记的后面插入分号,也就是说"在标记的后面是个换行,这说明可能是语句的结束,就增加一个分号"。

在右括号之前可以省略分号,比如:

      go func() { for { dst <- <-src } }()

不需要分号。在Go编程中只有几个地方需要增加分号, 比如: for循环 为了把初始化,条件和遍历元素分开。还有在一行中有多条语句,也需要增加分号。

需要注意的是,你不能把控制语句(if, for, switch, or select)左大括号单独方在一行, 如果你这样作了在大括号之前将要插入一个分号,可能会造成不必要的麻烦, 要写成:

  if i < f() {
      g()
  }

不要写成

  if i < f()  // wrong!
  {           // wrong!
      g()
  }