“我的Go+语言初体验” | 征文活动进行中…

一、Go+ 是什么

听说Go+发布已经有几天了,之前有接触过Go、python、php、c等语言,所以看到Go+时感觉并不陌生。

那么到底什么是Go+呢?

听说是用于工程、STEM 教育和数据科学的 Go+ 语言。

为了了解更多关于Go+的蛛丝马迹,我特意上了Go+的官方网站去了解了下。

官方网站:https://goplus/

打开后全是英文,好吧,还好我英文水平可以。

如果有看不懂的同学,可以看下面这个界面图片,也许看的习惯点。

看完我大概明白了,正像大家说的,Go+是一门口用于工程、STEM 教育和数据科学的 Go+ 语言;

就从工程方面来说有以下特征:

1.将支持所有 Go 功能(包括部分支持cgo)。
2.Go+ 提供了更简单优雅的语法,比 Go 更接近自然语言。
3.Go+ 易于学习。您不必在一开始就处理工程的复杂性。
4.Go+ 赋能每一行代码。你可以用更少的代码做更多的工作。

从STEM 教育与 Scratch 相比:

1.Scratch 仅用于编程教学。它基于块状界面,自然直观,但与实际工程体验不一致。
2.借鉴Code Monkey的经验,Go+ 直接使用代码进行编程教学,引入了低学习难度(不高于基于块的编程)和平滑的学习曲线。
3.Go+创新地实现了工程与教学的融合。你学习的语言也是你工作的语言。通过创建更有成效的课程,学生将获得更大的学习成就感。

从数据科学并与 Python 相比:

1.Go+ 提供了更强大的数学表达式功能,例如有理数表达式,可简化数据科学目的的编程。
2.Go+ 支持字节码后端和 Go 代码生成。
3.与 Python 相比,Go+ 提供更好的性能。
4.与 Python 相比,Go+ 提供更像自然语言的语法。
5.与 Python 相比,Go+ 提供与 Python 生态系统的兼容性(未来)。
6.与 Python 相比,Go+ 提供数据科学和工程的相同语言。

不急,我们在官网上再找找,多学习下。

我尝试的点了下Try Go+ 这个按钮。

看来官方为了让我们更好的体验Go+也是用心了。那我们就来用下吧,就当在线快速体验下。

好像反映有点慢,我以为卡了呢,还好运行结果出来了。

我们试着修改下代码看看。

我们再切换下代码,因为这个体验界面已经有几个代码段可以下拉切换。

好吧,代码println(1/3r+2/7r*2)中的r看着有点奇怪。
现在大概明白了点:
Go+其实也是一种静态类型语言。
而且完全兼容Go 语言。
在风格上类似脚本的风格,以及比 Go 更易读的数据科学代码。

二、Go+功能特征

官方从很多个方面介绍了Go+的功能特征,当然我相信肯定不止这些特征。

1.有理数:bigint、bigrat、bigfloat
2.地图文字
3.切片字面量
4.推导结构类型
5.列表理解
6.从集合中选择数据
7.检查集合中是否存在数据
8.For循环
9.对于 UDT 范围
10.对于 UDT2 范围
11.Lambda 表达式
12.重载运算符
13.错误处理
14.汽车财产
15.Unix 系统

不过不用急,稍后我们对上面的部分功能特征进行学习下。

三、环境安装

下面我们来看看怎么安装Go+.

在官网上找到两个怎么安装的按钮。

第一种方式:

第二种方式:

咱们使用第一种方式在Win10上安装,好像出了点问题。

命令:go run cmd/install.go 无法执行。

然后在官网去找下为什么,看看有没有win10安装教程,再观察下已经下拉的文件都有什么。

这怎么办呢,个人猜测,既然是Go+,是不是要Go环境,应该先安装Go,对于第一次接触的同学可能有点晕。

去Go官网:https://golang.google/dl/

已经安装好了,然后再试下安装go+,好像对方服务器连接有问题。

这样的话,看来第一种安装方式行不通啊!
想想是不是要走第二种方式安装。

四、开发工具

第一种方式无法安装成功,小编我决定试试第二种方式,使用Vcode+goplus 的插件方式安装。

Go+ 其实是对 Go 进行了一些扩展,其开发环境还是需要依赖 Go 的。
因为我没在 GOPATH 下新建工程,就需要使用 Go Model 来处理依赖,所以我们这里在工程目录下面执行下 Go Model 的初始化命令:

注意:go+目录是我手工创建的。

这会可以了,代码运行成功了。

五、Demo编写

下面我们来用go+做点什么吧。

官方有不少的教程示例代码。

这里我们写点别的代码测试下吧。

goplus.import.add
 
package main
 
func main(){
 println("hello wold")
}
sum := 0
for x <- [1, 3, 5, 7, 11, 13, 17], x > 3 {
    sum += x
}
 
println sum

输出:53

六、总结

从对go+的了解,到熟悉,这其中也遇到不少的一些问题,当然,如果是一名多年开发Go的程序员来说这都不是个事,对新手来说,还是有点门槛,不管是对开发工具的支持,到开发环境的搭建,都要点基础。总体来说体验感还行,相信会不断的完美。

有喜欢的朋友可到活动版块帮忙来个一键三连

更多推荐

我的Go+语言初体验——初学者的快速入门