gpt4 book ai didi

go - 导入但未使用错误

转载 作者:IT王子 更新时间:2023-10-29 01:33:51 26 4
gpt4 key购买 nike

我遇到以下导入代码的错误:

代码: 包主

import (
"log"
"net/http"
"os"
"github.com/emicklei/go-restful"
"github.com/emicklei/go-restful/swagger"
"./api"
)

错误:

.\main.go:9: imported and not used: "_/c_/Users/aaaa/IdeaProjects/app/src/api"

鉴于我有 package api 并且文件存储在 api 文件夹下,是否存在导入不工作的原因?

我在下面使用 main.go 中的 api

func main() {
// to see what happens in the package, uncomment the following
restful.TraceLogger(log.New(os.Stdout, "[restful] ", log.LstdFlags|log.Lshortfile))

wsContainer := restful.NewContainer()
api := ApiResource{map[string]OxiResp{}}
api.registerLogin(wsContainer)
api.registerAccount(wsContainer)
api.registerLostLogin(wsContainer)
api.registerWallet(wsContainer)
}

最佳答案

编译器寻找包的实际使用情况 .. 而不是它存在的事实。

你需要使用那个包中的东西..或者删除导入。例如:

v := api.Something ...

如果您不在源文件中使用该包中的任何内容.. 您不需要导入它。也就是说,除非您希望 init 函数运行。在这种情况下,您可以使用忽略符号 import _

编辑:

更新后,您似乎正在覆盖此处的包导入:

api := ApiResource{map[string]OxiResp{}}

它声明了一个名为 api 的变量。现在编译器认为它是一个变量,所以你实际上并没有使用 api 包。你正在使用 api 变量。

您有几个选择。

首先,您可以将该变量命名为其他名称(可能是我会做的):

apiv := ApiResource{map[string]OxiResp{}}

或者,为您的导入添加别名(不是我会做的......但仍然是一个选项):

import (
// others here
api_package "./api"
)

问题是编译器对使用什么感到困惑。 api 包.. 或您声明的 api 变量。

您还应该通过 GOPATH 而不是 relatively 导入包。

关于go - 导入但未使用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com