Go 1.11 将支持的 Go module:解决包依赖管理问题
Go 1.11 预计将于2018年8月发布,最大的变化莫过于将为称作"modules"的新概念添加实验性支持。那么这对 Go 开发者意味着什么?
Go 语言从2007年诞生至今,已经发展和演化十多年了。这十多年来,Go 取得了巨大的成就,先后于2009年和2016年当选 TIOBE 年度最佳编程语言,并在全世界范围内拥有数量庞大的拥趸。当然 Go 语言也不是完美的 —— 这些年来 Go 在“包依赖管理”和“缺少泛型”两个方面就饱受诟病,它们也是 Go 开发者最希望 Go 核心开发团队重点完善的两个方面。
今年 2018 年初,Go 核心 Team 的技术领导人,也是 Go Team 最早期成员之一的 Russ Cox 在个人博客上连续发表了七篇文章 ,系统阐述了 Go team 解决“包依赖管理”的技术方案:vgo。vgo 的主要思路包括:Semantic Import Versioning、Minimal Version Selection 、引入 Go module 等。这七篇文章的发布引发了 Go 社区激烈的争论,尤其是MVS(最小版本选择)与目前主流的依赖版本选择方法的相悖让很多传统 Go 包管理工具的维护者“不满”,尤其是“准官方工具”:dep。vgo方案的提出也意味着dep项目的生命周期即将进入尾声。
5月份,Russ Cox 的 Proposal “cmd/go: add package version support to Go toolchain” 被 accepted,上周 Russ Cox 将 vgo 的代码 merge 到 Go 主干 ,并将这套机制正式命名为“go modules”。由于 vgo 项目本身就是一个实验原型,merge 到主干后, vgo 这个术语以及 vgo 项目的使命也就就此结束了 。后续 Go modules 机制将直接在 Go 主干上继续演化。
Go modules 刚刚 merge 到 Go trunk 中,问题还会有很多,不过这是 Go team 在解决包依赖管理方面的一次勇敢尝试。无论如何,对 Go 语言来说都是一个好事。merge 后很多 gopher 也提出了诸多问题,可以在这里查看。如果你也遇到了 go modules 方面的问题,可以在 Go 的 GitHub 仓库中提 issue,帮助 Go team 尽快更好地完善 Go 1.11 的 Go modules 机制。
部分内容来自:https://www.colabug.com
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SUSE 开发者提议在 GCC 编译器中用 Python 替代 AWK
日前,一位 SUSE 开发者向GCC 开发团队发送了一封邮件,希望允许在 GCC 编译器代码库中使用一门脚本语言(Python),这主要是为了替代现有的 AWK 语言。 这位 SUSE 开发者 Martin Liška 目前正在寻求关于这项提议的可能性,他表示,这不是将现有的 GCC C 编译器代码替换为脚本语言或类似的任何东西,而是旨在替换当前难以维护的 AWK 脚本语言。 Martin Liška 认为,GCC 中的 AWK 代码现在“对进行任何调整都非常不愉快”,因此 Martin 在观察是否有足够多的上游开发者更愿意看到允许 Python 取代它。而该项提案可能由 GCC 指导委员会负责。 Martin 提到的关于 AWK 的一些问题 gcc/optc-save-gen.awk 充满了复制粘贴的代码,而由于缺少标志类型类(flags type classes),导致创建了多个全局变量(var_opt_char, var_opt_string, ...) 类似的事情发生在gcc/opth-gen.awk 我们做了很多正则表达式匹配工作(主要在 gcc/opt-functions....
- 下一篇
详细的多维度测评,看看哪个 Python 版本速度最快!
哪个版本的 Python 最快? 当然,这些问题由多种因素决定,其中的主要的因素是什么呢?我们又如何为自己的应用寻找最快的 Python 版本呢?带着这些问题,Hackermoon 上一位叫Anthony Shaw的作者为我们做了一些测试。 Anthony Shaw:Dimension Data 的 Talent 集团总监,Python 软件基金会成员,Apache 基金会成员 以下是对作者原文的翻译: 使用 Python 性能测试套件 正如之前我在speed.python.org 网站提到的,Python 核心开发团队非常重视性能问题,这对于比较官方基准和 CPython 版本非常有用。 如图,测试结果很难直观读取 其中不包含 PyPy 你可以通过执行 pip install performance 命令来下载测试套件,然后执行如下命令: pyperformance run --python={chosen_python_runtime} -o my_results.json 该命令会针对 Python 的目标版本多次运行一系列“实际”应用程序,并记录测试结果,取其平均值。 本文我对...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群