【问题标题】:Difference between golang.org packages and the standard librarygolang.org 包和标准库的区别
【发布时间】:2017-03-17 03:22:01
【问题描述】:

我使用 go 已经有一段时间了,我注意到 Go(标准库)和 golang.org/x/ 之间存在重复的包。

我的问题是:为什么它们会发布两次?在这两者中,我应该使用哪一个(更新、规范等)?

到目前为止我注意到的一些已发布两次的示例包:

  • golang.org/x/net/htmlnet/html
  • golang.org/x/cryptocrypto
  • 也许还有更多我现在不记得了...

【问题讨论】:

    标签: go


    【解决方案1】:

    https://golang.org/pkg/#subrepo

    这些包是 Go 项目的一部分,但在 Go 主树之外。 它们是在比 Go 核心更宽松的兼容性要求下开发的。

    除非您强烈需要使用/x/ 变体并且可以接受中断更改的风险,否则请使用标准库包。

    【讨论】:

      【解决方案2】:

      golang.org/x/ 命名空间中的许多包过去只存在于那里,后来被标准库采用。为了向后兼容,golang.org/x/ 版本仍然存在。

      不过,新应用应始终使用标准库版本,除非有其他令人信服的理由(例如使用仍使用旧版本的库)。

      【讨论】:

        猜你喜欢
        • 2011-05-03
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-20
        • 1970-01-01
        相关资源
        最近更新 更多