我一直在使用go很短的时间,我一直注意到Go(标准库)和golang.org/x/之间存在重复的包。golang.org软件包和标准库之间的区别
我的问题是:他们为什么被释放两次?在这两者中,我应该使用哪一个(更新,规范等)?
被释放两次,我到目前为止已经发现有某些样本包:
golang.org/x/net/html
VSnet/html
golang.org/x/crypto
VScrypto
- ,也许更多的,我不记得现在.. 。
我一直在使用go很短的时间,我一直注意到Go(标准库)和golang.org/x/之间存在重复的包。golang.org软件包和标准库之间的区别
我的问题是:他们为什么被释放两次?在这两者中,我应该使用哪一个(更新,规范等)?
被释放两次,我到目前为止已经发现有某些样本包:
golang.org/x/net/html
VS net/html
golang.org/x/crypto
VS crypto
https://github.com/golang/go/wiki/SubRepositories
这些软件包是Go Project的一部分,但在主Go树之外。 它们是在比Go内核更宽松的兼容性要求下开发的。
使用标准库软件包,除非您强烈需要使用/x/
变体,并且可以接受重大变更的风险。
golang.org/x/
命名空间中的许多软件包曾经只存在于那里,随后被采纳到标准库中。为了向后兼容,golang.org/x/
版本仍然存在。
虽然新应用程序应该始终使用标准库版本,除非有其他的令人信服的理由(例如使用仍使用旧版本的库)。