dongwang6837
2019-02-23 17:29
浏览 220
已采纳

导入错误:带有html的golang.org/x/net/html

I'm using "html" and "golang.org/x/net/html" in golang.

enter image description here

It's got error by same name.So I named other name like this.

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

and also I tried like this

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

But it wasn't effect for me.

Do you know how to solve this problem?

图片转代码服务由CSDN问答提供 功能建议

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

”在此处输入图片描述“

同名错误。因此,我也这样命名。

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

,我也尝试过这样

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

但这对我没有影响。

您知道如何解决此问题吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanbo7517 2019-02-23 19:34
    已采纳

    Using _ "golang.org/x/net/html" you import the package but you cut-off all access to it, this is used only when you need the imported package to perform some initialization and nothing else.

    Using net_html "golang.org/x/net/html" is ok and is exactly what you should do in this case. If you're still getting the "html redeclared as imported package ..." error then there might be an issue with the IDE you are using, but generally the Go compiler will not complain and your code should run without problems.

    To see for yourself that it works in a normal environment go to the following link and try running the program and you'll see that it compiles and executes. https://play.golang.com/p/jRdWucKjQ_0

    And here's a version with the same kind of error as the one that you're getting. https://play.golang.com/p/H5AFpXKJOBy


    So if net_html "golang.org/x/net/html" doesn't fix the "html redeclared as imported package ..." error, then try providing more info about your environment, like what IDE you're using, what version of Go you've installed, etc.

    点赞 打赏 评论
  • dongsaoshuo4326 2019-02-24 00:53

    When you use multiple package with same name, as you've experienced, Go will complain that the imported package name has been declared before.

    To avoid this issue, you have to import the package with custom PackageName like this :

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

    Then you can use public methods and structs from golang.org/x/net/html by accessing it via xhtml like this :

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

    For more detail, you might want to check the Go spec.

    点赞 打赏 评论

相关推荐 更多相似问题