【问题标题】:Using Go packages使用 Go 包
【发布时间】: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关系.当然,标准库的组织方式是合理的,但包名和文件夹就是这样,名称和文件夹没有任何其他结构连贯性。

标签: import go packages


【解决方案1】:

那是因为rand是一个单独的包,分层在mathmath/rand下,所以你要专门导入:

package main

import(
    "fmt"
    "math/rand"
)

func main(){
    r := rand.New(rand.NewSource(99))
    fmt.Println(r)

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多