每一个Go 程序都是有包组成的。
程序从名字为mian的包开始运行。
下面的程序中使用了两个包。它们引入的路径分别为 “fmt” 和 “math/rand”。
按照惯例,被引入的包的名字和引入路径的最后一个元素是一样的。例如 “math/rand”
包的文件中的开头就有声明 package rand 。

#packages.go

package main
import (
   "fmt"
   "math/rand"
)

func main() {
     fmt.Println("My favorite number is", rand.Intn(10))
}
引入

这些写在 import 括号里的 代码组成了 引入声明。
你也可以写多个 引入声明 像下面一样:

import "fmt"
import "math"


但是写在括号里这种引入声明是比较好的代码风格。

>\#imports.go
>```
>package main
>    
>import (
>    "fmt"
>    "math"
>)
>    
>func main() {
>   fmt.Printf("Now you have %g problems.", math.Sqrt(7))
>}
>```

#####暴露的名称
在Go里,首字母为大写字母的名称是被暴露的。例如,Pizza是一个被暴露的名字,另外Pi是在math包中被暴露的。
pizza 和 pi 并没有大写首字母,因此是私有的。
当一个包被引用的时候,你只能去使用被暴露的名称。任何一个私有的名称不能从包外被使用。
运行下面的代码,并注意提示的错误信息。
将 math.pi 改为 math.Pi 改正错误并重新运行。
>\#exported-names.go
>```
>package main
>    
>import (
>    "fmt"
>    "math"
>)
>    
>func main() {
>   fmt.Println(math.pi)
>}
>```

你可能感兴趣的:(包)