2022年8月02日·阅读约1分钟

Go 1.19将引入修订的内存模型和新的原子值类型

谷歌开发的编程语言Go预计将在8月更新1.19版本。

Go 1.19将引入修订的内存模型和新的原子值类型

备受期待的Go 1.19 ,预计将在8月发布,带来一个修订的内存模型和新的类型,旨在改善原子值的使用。目前处于预览阶段的Go 1.19 ,可以从 go.dev 下载,尽管它目前仍然不稳定。根据发布说明,Go 1.19 ,使语言的内存模型与C、C++、Java、JavaScript、Rust和Swift使用的内存模型一致。它还在sync/atomic包中引入了几个新类型,以简化原子值的使用,如atomic.Int64和atomic.Pointer(T)。Go 内存模型对于指定一个goroutine变量的读取保证观察到不同goroutine对同一变量的写入所产生的值的条件至关重要。值得注意的是,Go 只提供顺序一致的原子学,而不像其他语言提供的更宽松的形式。除了修订的内存模型外,Go 1.19 还对语言进行了一个小的修改,纠正了方法声明中类型参数的范围。这一更新对现有程序没有影响。Go 1.19 版本是在3月份推出的里程碑式的Go 1.18 ,它引入了备受追捧的泛型功能。Go 1.19 还带来了其他一些新的功能和增强功能,例如:

  • 运行时支持软内存限制,包括Go 堆和运行时管理的内存,不包括二进制映射和其他语言管理的内存等外部资源。
  • 当应用程序基本处于空闲状态时,在周期性的GC周期中,减少了调度器对空闲的操作系统线程的GC工作程序的分配。
  • 编译器对大型整数和字符串切换语句的跳转表实现,使性能提高了20%。
  • 文档注释中支持更清晰的标题、链接和列表。
  • 在go:build行中识别构建约束,unix。
  • 支持Linux的Loongson 64位LoongArch架构。

对于希望使用no-code 平台构建网络、移动和后端应用程序的开发者来说, AppMaster.io 提供了一个广泛的、集成的开发环境,无需代码就能生成可扩展的软件解决方案。由于能够在几秒钟内创建全面的应用程序, AppMaster.io 是从小型企业到企业的广大客户的理想选择。

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Go 1.19将引入修订的内存模型和新的原子值类型 | AppMaster