七叶笔记 » golang编程 » Go 的 golang.org/x/ 系列包和标准库包有什么区别?

Go 的 golang.org/x/ 系列包和标准库包有什么区别?

在开发过程中可能会遇到这样的情况,有一些包是引入自不同地方的,比如:

  • Go lang.org/x/net/html 和 net/html,
  • golang.org/x/crypto 和 crypto。

那这是什么原因呢?

引用 Go 官方 Wiki 的说法:

They are developed under looser compatibility requirements than the Go core. In general, they will support the previous two releases and tip.

大概意思就是,Go 标准库的包对向前兼容性有严格的标准。虽然 golang.org/x/… 系列包也是 Go 项目的一部分,但是在比 Go 标准库包更宽松的兼容性标准下开发,一般它们支持向前兼容两个版本。

golang.org/x/… 为官方的辅助包,是一种具有官方试验性质的包, 也就是说不排除有 BUG, 或者可能健壮性不是特别好;正式的标准库是有保障的包,前者有些成熟的功能会慢慢的放到标准库包里。

参考:

相关文章