备受期待的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是从小型企业到企业的广大客户的理想选择。