为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
阿晨1998 2023-06-12 10:24:27
我在 golang 中使用“html”和“golang.org/x/net/html”。它有同名错误。所以我这样命名其他名字。net_html "golang.org/x/net/html"我也试过这样_ "golang.org/x/net/html"但这对我没有影响。你知道如何解决这个问题吗?
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

使用_ "golang.org/x/net/html"你导入包但你切断了对它的所有访问,这仅在你需要导入包执行一些初始化而不是其他任何事情时使用。

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

要亲眼看看它是否在正常环境中工作,请转到以下链接并尝试运行该程序,您会看到它可以编译并执行。 

因此,如果net_html "golang.org/x/net/html"没有修复“html redeclared as imported package ...”错误,请尝试提供有关您的环境的更多信息,例如您使用的 IDE、安装的 Go 版本等。



查看完整回答
反对 回复 2023-06-12
?
烙印99

TA贡献1829条经验 获得超13个赞

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


PackageName为避免此问题,您必须像这样自定义导入包:


import (

    "html"

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

)

然后你可以通过像这样golang.org/x/net/html访问它来使用公共方法和结构:xhtml


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("< &")

}

查看完整回答
反对 回复 2023-06-12
  • 2 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信