前言
- 每个 Go 程序都是由一些包组成的。
- 程序从 main 包开始执行。
E.g:
/_src/tour/packages.go
package main
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println("My favorite number is", rand.Intn(10))
}
在这个程序,通过 import 导入两个包, fmt 和 math/rand (包路径)。
按照惯例,包名与包路径最后部分相同。例如: math/rand 包中的源码文件都以 package rand 语句开头。
import语句
Go 通过 import 语句引入包并在代码中使用。
import 语句有两种不同的写法,上面例子是其中的一种写法—— 批量导入 ;第二种则是分成多个语句:
import "fmt"
import "math"
两种写法虽然没有实质区别,还是 推荐采用批量写法 ,这是 最佳风格 。
名字导出
在 Go 语言,以大写字母开头的名字就会被 导出 ( exported
)。举例, Pizza 就是一个导出名字, math 包中的 Pi 也是。
/_src/tour/exported-names.go
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Pi)
}
相反, pizza 和 pi 由于不是大写字母开头,因此不会被导出。
一个包导入后,只能引用到导出名字。其他任何非导出名字在包外是没有办法访问到的(不可见)。