一个源文件可以包含任意多行的代码,Go 本身没有对源文件的大小进行限制。

Go 语言也是区分大小写的,这与 C 家族中的其它语言相同。有效的标识符必须以字符(可以使用任何 UTF-8 编码的字符或“_”)开头,然后紧跟着 0 个或多个字符或 Unicode 数字,如:C03、_x01、i、消息(虽然Go支持中文变量名,不过我个人不建议这种形式,可以见[例子])。

以下是无效的标识符:

  1. 1hello(以数字开头) 编译的时候提示:syntax error: unexpected ab at end of statement
  2. import(Go 语言的关键字)编译的时候提示:syntax error: unexpected import, expecting }
  3. i-j(运算符是不允许的)编译的时候提示:non-name i - j on left side of :=

这里强调一下,使用关键字做变量名是不可以的,但是可以使用预定义标识符

  1. string := 1
  2. fmt.Println(string)

不过我个人并不建议这种形式,这样会造成阅读程序的混乱。

关键字

下面列举了 Go 代码中会使用到的 25 个关键字或保留字:

  1. break default func interface select
  2. case defer go map struct
  3. chan else goto package switch
  4. const fallthrough if range type
  5. continue for import return var

除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:

  1. append bool byte cap close complex complex64 complex128 uint16
  2. copy false float32 float64 imag int int8 int16 uint32
  3. int32 int64 iota len make new nil panic uint64
  4. print println real recover string true uint uint8 uintptr

Go语言程序规定

程序一般由关键字、常量、变量、运算符、类型、函数和方法组成。

程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。

程序中可能会使用到这些标点符号:、;、…。

行分隔符

在 Go 程序中,每一行代表一个语句。每个语句不需要像C语言家族中的其它语言一样以分号 “;” 结尾,因为这些工作都将由 Go 编译器自动完成。

  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func main() {
  6. msg := "Mr. Watson, Come Here, I Want You! \r\n 沃特森先生,过来,我想见你!"
  7. fmt.Println(msg)
  8. }

如果你打算将多个语句写在同一行,它们则必须使用“;”来区分。(把多个语句写在一行的方式,不是Go所推荐的。)

  1. if err = o.Read(&v); err == nil {
  2. …………
  3. }