Go中用包来组织代码。一个包由一个或多个.go源文件组成,放在一个文件夹中。
包就是文件夹,所以包名与文件夹名同名。
每个.go源文件的开头都必须署名当前.go源文件属于哪个包。
package main //表明该源文件属于main包
接着需要导入编程所需的包。
导入包时,路径从$GOPATH的src下开始的。
例1:
import "fmt" //导入fmt包
例2:
import (
"fmt"
"time"
)//可以通过()一次性导入多个包
一般而言,包名都是小写字母。(如:main,fmt等)
Go中封装的单元是包,所以判断一个实体能否跨包的依据是看起首字母是否大写。
也就是说,如果某包中的实体首字母没有大写,即使被其他包导入也不能使用。
通过.来访问包中的实体。
例1:
fmt.Println("hello world") //调用fmt包中的函数Println
可以给包取别名,但之后只能使用别名来访问该包中的函数和变量。
例子1:
import utils "go/hello/utils" //给go/hello/utils取别名utils
在Go中,不允许引入包却不使用它(会报错),要避免这种情况可以用_。
例1:
import _"fmt"