3.1.4 包和文件

Go语言中的包和其他语言中的库的作用类似,目的都是支持模块化、封装、单独编译和代码重用。一个包的源码保存在一个或多个以.go为后缀名的文件中。

每个包对应一个单独的命名空间。例如,ioutil包中的WriteFile函数和syscall包中的WriteFile函数是不同的。要在外部引用这两个包中的相应函数,必须使用ioutil.WriteFile或syscall.WriteFile显式访问。

包还可以用于隐藏内部实现的信息。如果不想让变量被直接修改,可以在给变量命名时,以小写字母开头,并将修改变量值的方法名设为大写。

1.包的声明

包的声明可使用关键字package实现,如package hello。

2.引入包

引入包又分为单行引入和多行引入,示例如下。

//单行引入
import "fmt"
import "math/rand"
 
//多行引入
import (
  "fmt"
  "math/rand"
)

3.包的别名

可以在包名前加上自定义的别名,调用时可以使用“别名.xxx”的形式,示例如下。

import r "math/rand"
 
r.Intn()