Go+ v1.1.0 发布,为数据科学而生的编程语言

Go+ v1.1.0 已发布,这是一门适用于工程、STEM 教育和数据科学的编程语言。主要特性包括:

  • 静态类型语言。
  •  Go 完全兼容。
  • 脚本化的风格,以及比 Go 更易于阅读的数据科学代码。
  • 支持字节码后端和 Go 代码生成。在字节码模式下,Go+ 不支持 cgo。然而,在 Go 代码生成模式下,Go+ 完全支持 cgo

新版本亮点

1. 引入 https://github.com/goplus/mod 模块。此模块提供对 Go/Go+ module 相关功能的支持。可以看作是对 golang.org/x/mod 的增强,其中包括:

2. 改进gop mod(模块管理)相关命令,尤其是gop mod tidy很多情况下需要考虑的命令。

3. 增强gop等命令功能的完整性,例如gop build/install/run/test,主要体现在:

  • 支持远程包。例如,在 Go+ v1.0 中gop run只能操作本地目录或文件,现在gop run支持运行远程包。
  • 保证gop build/install/run/test一致性。以前,gop rungop build/install的代码是分开编写的,缺乏统一的支持框架,最终行为会有所不同。现在它们被统一到同一个实现框架中。
  • 修复 gop 缓存错误,在 Go+ v1.0 中,由于 import 包的实现性能较差,引入了 gop cache 模块缓存,导致模块更新检测出现一些 bug,以及导入一些复杂包的死循环。

4. 增加 v1.0 缺少的语法特性。主要包括:

  • 支持重载++,--运算符
  • 表达式type()支持用于表示类型type的零值。例如,string()等价于""int32()等价于int32(0),等等。
  • 支持uint128,int128类型。
  • 支持any类型,相当于空接口。

5. 支持混写 Go/Go+ 代码

详情参考 gop/testdata/mixgo 示例。

6. 支持从 Go+ 调用 C,包括:

  • gop c命令(相当于独立c2go命令)可用于将 C 项目转换为 Go 项目。
  • import "C"import "C/xxx"用于导入 c2go 转换的 C 工程。import "C"import "C/github.com/goplus/libc"的缩写。
  • C"xxx"语法表示 C 风格的字符串常量。

以下代码是 Go+ 与 C 交互的示例

import "C"

C.printf C"Hello, c2go!\n"
C.fprintf C.stderr, C"Hi, %7.1f\n", 3.14

目前 Go+ 对 C 的支持只是一个预览版,还没有达到可用于工程项目的程度。据介绍,就 libc 而言,目前的迁移进度只有 5% 左右,而这仅仅是个开始。在即将到来的 Go+ v1.2 版本规划中,对 C 的完全支持被列为重中之重。当然,对 cgo 和 Go Module 的支持也在规划中,这是混写 Go/Go+ 代码的关键能力增强。

详情查看 release note

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/198845/goplus-1-1-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。