【发布时间】:2015-02-23 02:08:45
【问题描述】:
我不确定 Go 包是如何被调用的。例如,如果我想创建随机数,我应该导入"math/random",但它不只是"math" 库的一部分吗?那么为什么这段代码不起作用:
package main
import(
"fmt"
"math"
)
func main(){
r := rand.New(rand.NewSource(99))
fmt.Println(r)
}
我的意思是,我不能通过简单地导入超类(在这种情况下,只是数学 "math" 包)直接访问随机函数吗?
【问题讨论】:
-
Go 既没有类也没有超类。包有简单的名字,“math/rand”的名字并不意味着有一个包“math”或者(如果有的话)它们之间有any关系.当然,标准库的组织方式是合理的,但包名和文件夹就是这样,名称和文件夹没有任何其他结构连贯性。