Golang除提供内置函数外,还提供了各种标准库,这些标准库都是用package来组织的。
$GOROOT与$GOPATH
在讲package管理之前,需要明确两个环境变量,$GOROOT和$GOPATH。
$GOROOT
$GOROOT目录是存放Go内置工具的,包括各种标准库,比如常用的fmt包、strings包、strconv包等都在这个目录的子目录下。只有指定了$GOROOT,才能顺手的使用标准库。如果没有指定$GOROOT还import了"fmt",编译时可能就会报错,因为编译器不知道fmt的位置。
我的$GOROOT目录是/usr/local/go。
该目录下有以下内容:
一般标准库源码都存放在src目录里,咱进去看看都有啥: