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

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

  • golang.org/x/net/htmlnet/html
  • golang.org/x/cryptocrypto

那这是什么原因呢?

引用 Go 官方 Wiki 的说法:

The golang.org/x/… repositories are part of the Go Project but outside the main Go tree.

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, 或者可能健壮性不是特别好;正式的标准库是有保障的包,前者有些成熟的功能会慢慢的放到标准库包里。

热情推荐:

  • 技术博客 硬核后端技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

参考:

Original: https://www.cnblogs.com/alwaysbeta/p/15722979.html
Author: yongxinz
Title: Go 的 golang.org/x/ 系列包和标准库包有什么区别?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/516486/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • go泛型教程

    导读: 约束 使用方法 实现原理 跟其它语言的泛型进行对比 用例子学泛型 issues 泛型需满足 go1.18+ go使用interface作为约束,约束的意思是约束了这个泛型都…

    Go语言 2023年5月25日
    056
  • go语言并发编程

    引言 说到go语言最厉害的是什么就不得不提到并发,并发是什么?,与并发相关的并行又是什么?并发:同一时间段内执行多个任务并行:同一时刻执行多个任务 进程、线程与协程 进程: 进程是…

    Go语言 2023年5月25日
    069
  • Golang项目的配置管理——Viper简易入门配置

    Golang项目的配置管理——Viper简易入门配置 What is Viper? From:https://github.com/spf13/viperViper is a co…

    Go语言 2023年5月25日
    053
  • Go之Logrus用法入门

    Logrus是Go (golang)的结构化日志程序,完全兼容标准库的API日志程序。Logrus is a structured logger for Go (golang), …

    Go语言 2023年5月25日
    065
  • install go 环境

    GoSDK安装 下载 GO SDK wget https://golang.google.cn/dl/go1.17.3.linux-amd64.tar.gz tar xfv go1…

    Go语言 2023年5月25日
    054
  • Go语言程序的命令行参数

    获取命令行参数是程序功能多样化的必要前提。 这个例子展示Go语言如何获得程序的命令行参数。 Go语言程序: // echoarg project main.go package m…

    Go语言 2023年5月29日
    050
  • Go语言之变量与基础数据类型

    Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1、Go 的特性: 跨平台的编…

    Go语言 2023年5月25日
    055
  • 常见的限流算法

    通过限制并发访问数或者限制一个时间窗口内允许处理的请求数量来保护系统,例如,通过限流,你可以过滤掉产生流量峰值的客户和服务。 令牌桶算法 令牌桶算法是常见的一种限流算法。假设有一个…

    Go语言 2023年5月25日
    058
  • Go语言之高级篇Beego框架之爬虫项目实战

    一、爬虫项目 1、爬虫基础 a、网页上面会有相同的数据 b、去重处理 布隆过滤器哈希存储 c、标签匹配: 正则表达式beautiful soup或lxml这种标签提取库 d、动态内…

    Go语言 2023年5月29日
    058
  • 字符集与编码

    一个比特(bit)可以是0,或者是1,8个比特(bit),组成一个字节(byte)。全为0时代表数字0,全为1时代表数字255。 一个字节可以表示256个数字,两个字节可以表示65…

    Go语言 2023年5月25日
    052
  • 自己实现一个Controller——标准型

    标准Controller 上一篇通过一个简单的例子,编写了一个controller-manager,以及一个极简单的controller。从而对controller的开发有个最基本…

    Go语言 2023年5月25日
    086
  • gofs使用教程-基于golang的开源跨平台文件同步工具

    gofs是基于golang开发的一款开箱即用的跨平台文件同步工具,支持在本地磁盘之间同步、从远程服务器同步变更到本地、将本地文件变更推送到远程服务器三种模式。开源地址如下:Gith…

    Go语言 2023年5月25日
    053
  • 微服务追踪SQL(支持Isto管控下的gorm查询追踪)

    效果图 SQL的追踪正确插入到微服务的调用链之间 详细记录了SQL的执行内容和消耗时间 搜索SQL的类型 多线程(goroutine)下的追踪效果 在 Kubernetes 中部署…

    Go语言 2023年5月25日
    066
  • Go – 如何编写 ProtoBuf 插件 (三) ?

    上篇文章《Go – 如何编写 ProtoBuf 插件 (二) 》,分享了基于 自定义&#x90…

    Go语言 2023年5月25日
    064
  • golang tcp keepalive研究记录(基于websocket)

    服务器和客户端建立tcp连接以后,客户端/服务器如何知道对方是否挂掉了? 这时候TCP协议提出一个办法,当客户端端等待超过一定时间后自动给服务端发送一个空的报文,如果对方回复了这个…

    Go语言 2023年5月25日
    049
  • Go 学习路线(2022)

    原文链接: Go 学习路线(2022) Go 语言的发展越来越好了,很多大厂使用 Go 作为主要开发语言,也有很多人开始学习 Go,准备转 Go 开发。 那么,怎么学呢? 我发现,…

    Go语言 2023年5月25日
    055
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球