Go1.21 速览:正式结束对 macOS 10.13 和 10.14 的支持

news2024/11/24 1:50:04

大家好,我是煎鱼。

根据 Go 语言的版本发布规律,一般是 2 月份和 8 月份各会发布一个新的版本。当前是 Go1.20。也就是在 8 月份会发布 Go1.21 这一个新版本。

在这个新版本,将会正式的结束对 macOS 10.13 和 10.14 的支持,并禁用相应的构建器。

18647b39f522c43da05b380794f55b4b.png

该次变更的提案状态已为 “Accepted”,流程已走完。一般情况下,不会发生其他改变。

但这个事。怎么再次拿出来讨论呢?

这是有背景的,因为在之前 Go1.20 发布这个消息后。国外社区和 golang/issues 里产生了不少的反对的声音,认为需要继续支持这两个大版本。

主要原因是:

  1. High Sierra(OSX 10.13.6) 是在旧硬件上运行的最后一个可用版本,例如:2015 年的 MacBookPro。会对其个人使用 Go 最新的版本特性产生影响。(via @glycerine)

  2. 同样期望 High Sierra 继续支持,原因是目前在 eBay 上有超过 300 台 Mac mini。将会导致无法在这些 macOS 上测试和运行更加新的 Go 代码。(via @mikeschinkel)

你会发现 macOS 10.13 和 10.14 其实是两个有里程碑意义的版本。失去对应的新特性支持,是有部分开发者不愿意的。(身边也有在用老式笔记本电脑工作的朋友)

无论如何,反对声音不少。但 Go 核心团队成员 @Russ Cox,很猛。基于 Go 声明的移植策略(PortingPolicy)标准中的 Removing old operating system and architecture versions[1],直接拒绝了此项支持,并结束了相关讨论。

25fbcf760caec5214423805971ece149.png

Russ Cox 也表达了自己的观点:

b9aca2b66d85c8cd033b70dc1f0b2fe8.png
  • 旧硬件(例如上文提到的 eBay 的 Mac mini)的存在并不足以证明投入时间让 Go 在这些旧系统上运行是合理的。

  • 如果 Apple 不再为该操作系统的版本发布安全更新和修复,那么 Go 继续尝试维护和支持它也没有意义。

  • Go 开发团队的工作时间有限,让 Go 在当前的 macOS 上运行已经很困难了。因此试图继续保持旧 Mac 硬件运行的开发者,可以选择继续运行旧的 Go 发行版。

如果你手上的笔记本电脑或 Mac mini 等家庭服务器的版本在此范围内,请及时安排升级!避免影响到后续新特性使用。

推荐阅读

  • Go1.21 速览:过了一年半,slices、maps 泛型库终于要加入标准库。。。

  • Go1.21 速览:Go 终于打算进一步支持 WebAssembly 了。。。

  • 写在 2023 年初的后端社招面试经历(四年经验):字节 米哈游 富途 猿辅导

参考资料

[1]

Removing old operating system and architecture versions: https://github.com/golang/go/wiki/PortingPolicy#removing-old-operating-system-and-architecture-versions

关注和加煎鱼微信,

一手消息和知识,拉你进技术交流群👇

68a0eed5fa731fa99feaeb7000b0bd50.jpeg

532662bc3efe9a4fc3453c71f882bd84.png

你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路

日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/575297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

27 VueComponent 计算属性的实现

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 用例如下, 我们这里核心关注 counterPlus100 这个计算变量 问…

JavaScript键盘事件

目录 一、keydown:按下键盘上的任意键时触发。 二、keyup:释放键盘上的任意键时触发。 三、keypress:在按下并释放能够产生字符的键时触发(不包括功能键等)。 四、input:在文本输入框或可编辑元素的内容…

pytroch实战12:基于pytorch的网络结构可视化

基于pytorch的网络结构可视化 前言 ​ 之前实现了一些常见的网络架构,但是有些网络架构并没有细说,并且网络传输过程中shape的变化也很少谈及过。 ​ 除此之外,前面的实现很少涉及到可视化的内容,比如损失值的可视化、网络结构的…

MySQL的下载、安装、配置(图文详解)

MySQL的下载、安装、配置(图文详解) 一、MySQL的4大版本二、软件的下载三、MySQL8.0 版本的安装四、配置MySQL8.0五、配置MySQL8.0 环境变量六、MySQL5.7 版本的安装、配置七、安装失败问题 一、MySQL的4大版本 MySQL Community Server 社区版本&#xf…

专高六第一次项目答辩学到的知识点【未完成】

目录标题 1、animation和traslation定义动画的区别?2、微信小程序的支付流程?3、canvas和svg有什么区别?4、app自定义导航栏,如果说打包成小程序导航栏如何适配?4、express权限,接口权限?5、一键…

如何在Linux系统安装Nginx

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程,博主也曾写过优秀论文,查重率极低,在这方面…

设计思维及在Thoughtworks的应用

图:史江鸿 第一次听到"设计思维"是在2016年,那时我刚加入Thoughtworks。我总能在各种场合听到这个词,似乎它在Thoughtworks具有不可撼动的地位。然而,作为QA角色,我并没有机会深入了解它。 我曾感到疑惑&…

2-python的变量类型

内容提要 主要介绍了python中的变量类型,之前不经常用的点有: 列表的下标可以是负数,无论正负,都是从左侧开始,从左到右依次递增。 还有截取操作[头:尾:步长),表示连接,*表示重复。 列表与元组…

springboot+vue地方废物回收机构管理(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的地方废物回收机构管理。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者&#xff1…

leetcode--删除链表的倒数第N个节点(java)

删除链表的倒数第N个节点 Leetcode 19 题解题思路代码演示链表专题 Leetcode 19 题 19 删除链表的倒数第N个节点 -可以测试 题目描述: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点 示例1: 输入:he…

javascript基础五:深拷贝浅拷贝的区别?如何实现一个深拷贝?

一、数据类型存储 JavaScript中存在两大数据类型: 基本类型引用类型 基本类型数据保存在在栈内存中 引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中 二、浅拷贝 浅拷贝,指的是创建新…

springcloud分布式架构网上商城(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的分布式架构网上商城。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:…

LLM时代NLP研究何去何从?一个博士生的角度出发

深度学习自然语言处理 原创作者:Winni 前言 最近,大语言模型(LLMs)在许多任务上表现出接近人类水平的性能,这引发了行业兴趣和资金投入的激增,有关LLMs的论文最近也层出不穷。 看起来,NLP领域似…

博客系统(ssm版本)

在前面的文章中给大家介绍过博客系统的servlet版本,但是servlet的技术非常的老旧,我们在企业中用的都是springboot相关的框架,本章内容就是讲述如何一步一步的利用ssm的技术来实现博客系统。 目录 前期配置 创建数据库 配置文件 公共文件…

30 VueComponent 事件的绑定

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 用例如下, 我们这里核心关注 事件的处理流程 问题的调试 整个…

c# cad二次开发 通过选择txt文件将自动转换成多段线

c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下 using System; using System.Collections.Generic; using System.Text; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; usi…

chatgpt赋能python:Python改变图片大小对SEO的影响

Python改变图片大小对SEO的影响 简介 Python作为一门高效的编程语言,广泛应用于各个行业,并在图像处理领域中也有很多应用。其中一个常见的应用就是改变图片的大小。在SEO(搜索引擎优化)中,图片大小的优化对网站的排…

chatgpt赋能python:Python批量输出:提高工作效率的必备技能

Python批量输出:提高工作效率的必备技能 在日常工作中,我们往往需要批量处理某些数据。Python作为一种流行的编程语言,可以帮助我们快速地完成这项任务。本文将介绍Python批量输出的基本知识和实用技巧,帮助读者提高工作效率。 …

chatgpt赋能python:Python改变当前目录的SEO指南

Python改变当前目录的SEO指南 介绍 对于SEO来说,网站的目录结构和文件命名是非常重要的。良好的目录结构可以帮助搜索引擎更好地理解您的网站内容,而有意义的文件命名可以提高页面的可读性并有助于排名。 但在开发过程中,我们经常需要在不…

铁粉数量上一百了

铁粉数量上一百了 常写博客,常进步。