GoPlus-数据科学的Go+语言

2020-06-17 23:20:19

a:=[1,3,5,7,11]b:=[x*x for x<;-a,x>;3]println(B)//输出:[25 49 121]mapData:={";Hi";:1,";Hello";:2,";go+";:3}reversedMap:={v:k for k,v<;-mapData}println(VersedMap)//输出:map[1:hi 2:hello 3:go+]。

另外,所有的GO+套餐都可以转换成GO套餐,然后通过GO导入。

GOP Go Tutorial/#将Tutorial/中的所有Go+包转换为Go包Go Install./.。

注意:GOP命令当前未提供(处于阿尔法阶段)。相反,我们提供了qrun和qgo命令。

当我们使用GOP GO或GOP INSTALL命令时,它会生成GO代码,将GO+包转换成GO包。

当我们使用GOP运行命令时,它不会调用GO运行命令。它生成要执行的字节码。

GOP GO;gopSrcDir&>;#将<;gopSrcDir&>;下的所有GO+包转换为GO包,递归地ygop运行<;gopSrcDir&>#作为Go+Main包运行<;gopSrcDir&>#作为Go;运行<;gopSrcFile&>#Running<;gopSrcFile&>。

GOP命令当前未提供(处于阿尔法阶段)。相反,我们提供以下命令:

qrun<;gopSrcDir>;#gop run<;gopSrcDir>;qrun-ASM<;gopSrcDir>;#生成go+字节码后端的`asm`代码qrun-Quiet<;gopSrcDir>;#don';t生成任何编译阶段logqrun-debug<;gopSrcDir>;#print debug>;#print debug<;#print debug>;

qgo-test<;gopSrcDir>;将GO+包转换为GO包,对于每个包,它都会调用Go Run<;gopPkgDir>;/gop_autogen.go和qrun-Quiet<;gopPkgDir>;来比较它们的输出。如果它们的输出不相等,则测试用例失败。

我们引入有理数作为原生GO+类型。我们使用-r后缀作为有理常数。例如,(1r<;<;200)表示值等于2 200的大整数。4/5r表示有理常数4/5。

a:=1 r<;<;65//bigint,大于int64 b:=4/5 r//bgrat c:=b-1/3 r+3*1/2 r println(a,b,c)。

x:={";Hello";:1,";xsw";:3.4}//map[string]float64 y:={";hello";:1,";xsw";:";go+";}//map[string]interface{}z:={";hello";:1,";xsw";用法:3}//map[String]int Empty:={}//map[String]接口{}。

x:=[1,3.4]//[]float64 y:=[1]//[]int z:=[1+2i,";xsw";]//[]interface{}a:=[1,3.4,3+4i]//[]复合128 b:=[5+6i]//[]复合128 c:=[";xsw";,3]//[]接口{}为空:=[]//[]接口{}。

a:=[x*x for x<;-[1,3,5,7,11]]b:=[x*x for x<;-[1,3,5,7,11],x>;3]c:=[i+v for i,v<;-[1,3,5,7,11],i%2=1]d:=[k+#34;,";;对于k,s<;-{";Hello";:";xsw";,";Hi";:";Go+";}]arr:=[1,2,3,4,5,6]e:=[[a,b]对于a<;-arr,a<;b对于b<;-arr,b>;2]x:={x:i for i,x<;-[1,3,5,7,11]}y:={x:i for i,x<;-[1,3,5,7,11],i%2==1}z:={v:k for k,v<;-{1:";Hello";,3:";Hi";,5:";xsw";,7:";go+";},k>;3}。

SUM:=0表示x<;-[1,3,5,7,11,13,17],x>;3{sum+=x}

import(";strconv";)函数add(x,y字符串)(int,error){return strconv.。Atoi(X)?+strconv.。Atoi(Y)?,nil}func addSafe(x,y字符串)int{return strconv.。Atoi(X)?:0+strconv.。Atoi(Y)?:0}println(`add(";100";,";23";):`,add(";100";,";23";)!)。sum,err:=add(";10";,";abc";)println(`add(";10";,";abc";):`,sum,err)println(`addSafe(";10";,";abc";):`,addSafe(";10";,";abc";))。

添加(";100";,";23";):123add(";10";,";abc";):0字符串。Atoi:解析";abc";:无效语法=>;错误堆栈:main.add(";10";,";abc";)/Users/xsw/goplus/tutorial/15-ErrWrap/err_wrap.gop:6字符串。Atoi(Y)?addSafe(&。10";,";ABC";):10。

最有趣的是,返回错误包含完整的错误堆栈。当我们遇到错误时,很容易确定根本原因是什么。

以下是GO+贡献者的列表。我们为每位投稿人奖励一个电子邮件帐户([email protected])。我们建议您使用此电子邮件帐户提交代码:

Go+的贡献者意味着什么?他必须符合下列条件之一: