【行业资讯】Go 1.20 RC1 发布

Go 1.20 首个 RC 已发布,正式版计划明年 2 月推出。

值得注意的是,Go 1.20 是最后一个支持在 macOS 10.13 High Sierra 或 10.14 Mojave 上运行的版本。Go 1.21 将需要 macOS 10.15 Catalina 或更高版本。

此外,Go 1.20 添加了对 RISC-V 上的 FreeBSD (, ) 的实验性支持。

Go 1.20 目前在语法方面包含 4 项变化。

从 slice(切片)到数组的转换

Go 1.7 增加了从 slice (切片)到数组指针转换的功能,Go 1.20 对该功能进行了扩展 —— 可直接从 slice 转换成数组。

比如给定一个 slice, 可以写成 。

标准库  包定义了 3 个新函数:, 和 

在 Go 1.17 中, 包添加了 Slice 函数:

: 对于  类型的  表达式,返回一个  类型的切片,其底层数组从  开始, 其长度和容量为 

再加上 Go 1.20 新定义的 3 个函数,这 4 个函数提供了构造和解构 slice 以及字符串值的完整功能。

详情查看 https://tip.golang.org/ref/spec/#Package_unsafe。

Comparable 类型

Comparable 类型(例如普通接口 ordinary interfaces)现在可以满足  约束,即便类型实参 (type argument) 不是严格可比较类型。

值比较

Go 语言规范进行了更新,结构体变量的值每次只比较一个字段,字段比较的顺序和字段在结构体里定义的顺序保持一致。一旦某个字段的值比较出现不一致,就会马上停止比较。该变化没有对代码造成影响。

标签: go rc slice

最新资讯

文档百科

CopyRight © 2000~2023 一和一学习网 Inc.All Rights Reserved.
一和一学习网:让父母和孩子一起爱上学习