Go Lang中的重复导入

时间:2018-06-14 17:35:23

标签: go

在我导入此内容的场景中:

import (
      "fmt"
      "github.com/julienschmidt/httprouter"
      "net/http"
      "log"
      )

但httprouter / router.go导入:

import (
        "net/http"
)

我还需要导入" net / http"在我的文件中?

2 个答案:

答案 0 :(得分:1)

您的文件只需要关注特定文件中使用的导入。

您可以尝试使用goimports来查看它是如何建议导入的。 Effective Go有这样的说法:

  

导入包时,包名称将成为其访问者   内容。导入“bytes”后,导入包可以进行通信   关于bytes.Buffer。

,这很不完全正确,因为你可以在同一个包中有多个文件,每个文件都需要导入它需要的任何东西(例如,包中的2个文件可能每个import fmt

答案 1 :(得分:0)

每个通过名称引用软件包的文件都必须导入该软件包。

每个文件都有一个file block,其中包含该文件中的所有Go源代码文本。 scope of the package name of an imported file是导入包的文件块。