go语言1.20发布
❤️ Go语言高级篇章,在此之前建议您先了解基础和进阶篇。Myblog:http://nsddd.top
开始
可以访问下载页面获取它
向下兼容,无脑升就好了!Go 1.20 amd64 版本 95MB,相比 Go 1.19 144MB,以及 Go 1.18.10 138MB 来说,降幅达到了 49MB。
最新的 Go 版本 1.20 在Go 1.19 发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了 Go 1的兼容性承诺。我们期望几乎所有的 Go 程序都能像以前一样继续编译和运行。
语言的变化
四个变化:
x[4]byte(x)*(*[4]byte)(x)f="https://tip.golang.org/ref/spec/#Package_unsafe">unsafe包定义了三个新函数SliceData、String和StringData。与 Go 1.17 一起Slice,这些函数现在提供了构建和解构切片和字符串值的完整能力,而不依赖于它们的确切表示。comparablecomparable
性能提升
从 Go 1.21 开始,一些较旧的操作系统将不再受支持:这包括 Windows 7、8、Server 2008 和 Server 2012、macOS 10.13 High Sierra 和 10.14 Mojave。另一方面,Go 1.20 添加了对 RISC-V 上的 FreeBSD 的实验性支持。
- 编译器和垃圾收集器的改进减少了内存开销,并将整体 CPU 性能提高了 2%。
- 专门针对编译时间的工作导致构建改进高达 10%。这使构建速度与 Go 1.17 保持一致。
OS 兼容版本
很多还是 Windows7、8 的用户,赶紧升 Go 1.20 吧,这将是最后一个版本。
- Go 1.20 是将在 Windows 7、8、Server 2008 和 Server 2012 的任何版本上运行的最后一个版本。Go 1.21 将至少需要 Windows 10 或 Server 2016。
- Go 1.20 是将在 macOS 10.13 High Sierra 或 10.14 Mojave 上运行的最后一个版本。Go 1.21 将需要 macOS 10.15 Catalina 或更高版本。
Tool
ef="https://go.dev/testing/coverage">cover工具现在可以收集整个程序的覆盖率概况,而不仅仅是单元测试。 href="https://go.dev/cmd/go">go工具不再依赖于$GOROOT/pkg目录中预编译的标准库包存档,并且它们不再随发行版一起提供,从而减少了下载量。相反,标准库中的包是根据需要构建的,并像其他包一样缓存在构建缓存中。go test -jsonstdoutgo buildgo install-pgo-covergocgohref="https://go.dev/cmd/vet">vet工具报告了在并行运行的测试中可能发生的更多循环变量引用错误。
标准库
其他的一些内容
链接器:
go:type:go.type.go.
$GOROOT/pkg