登录
首页 >  Golang >  Go问答

导入错误: golang.org/x/net/html 和 html 包

来源:stackoverflow

时间:2024-03-01 17:15:25 223浏览 收藏

哈喽!今天心血来潮给大家带来了《导入错误: golang.org/x/net/html 和 html 包》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我在 golang 中使用“html”和“golang.org/x/net/html”。

同名错误。所以我像这样命名了其他名称。

net_html "golang.org/x/net/html"

我也尝试过这样

_ "golang.org/x/net/html"

但这对我来说没有效果。

你知道如何解决这个问题吗?


解决方案


使用 _ "golang.org/x/net/html" 导入包,但切断对它的所有访问,仅当您需要导入的包执行一些初始化而不是其他操作时才使用。

使用 net_html "golang.org/x/net/html" 就可以了,这正是您在这种情况下应该做的。如果您仍然收到“html redeclared as imported package ...”错误,那么您使用的 ide 可能存在问题,但通常 go 编译器不会抱怨,您的代码应该运行没有问题。

要亲眼看看它在正常环境中是否有效,请访问以下链接并尝试运行该程序,您将看到它可以编译并执行。 https://play.golang.com/p/jRdWucKjQ_0

这是一个与您遇到的错误类型相同的版本。 https://play.golang.com/p/H5AFpXKJOBy

因此,如果 net_html "golang.org/x/net/html" 无法修复 “html 重新声明为导入的包 ...” 错误,请尝试提供有关您的环境的更多信息,比如你正在使用什么ide,你安装了什么版本的go等等。

当你使用多个同名的包时,正如你所经历的,go会抱怨导入的包名称之前已声明过。

要避免此问题,您必须使用自定义 packagename 导入包,如下所示:

import (
    "html"
    xhtml "golang.org/x/net/html"
)

然后,您可以通过 xhtml 访问 golang.org/x/net/html 来使用公共方法和结构,如下所示:

package main

import (
    "html"

    xhtml "golang.org/x/net/html"
)

func main() {
    // this will use `html` package
    htmlEscape := html.EscapeString("< &")

    // and this will use `golang.org/x/net/html` package
    xHtmlEscape := xhtml.EscapeString("< &")
}

有关更多详细信息,您可能需要查看 go spec

今天关于《导入错误: golang.org/x/net/html 和 html 包》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>