美文网首页Go
GoPlus初体验 - 给golang插上翅膀

GoPlus初体验 - 给golang插上翅膀

作者: 写个代码容易么 | 来源:发表于2020-07-03 13:04 被阅读0次

GoPlus为国内云厂商七牛云推出的一门静态类型语言,与 Go 语言完全兼容。其代码样式类似脚本,并且比 Go 更具可读性,专门用于数据科学。

给人的第一感觉就是披着python外衣的golang,简化了部分golang语法,使用简单灵活

GoPlus脚本文件扩展名为.gop

安装

首先要安装golang开发环境

  1. git clone https://github.com/qiniu/goplus.git
  2. cd goplus && go install -v ./...
    执行完这几步后在GOPATH/bin下面会生成GoPlus的命令行工具qrun,qexp,qfmt和qgo

命令说明如下
qrun: 执行工具,qrun xxx.gop 执行gop脚本
qexp: 包装工具,qexp export <goPkgPath> 生成go包的GoPlus包装层
qfmt: 格式化工具,qfmt xxx.gop 格式化gop脚本
qgo: 转换工具,qgo <gop包名称> 将gop文件转换为go文件

语法实例

  1. helloworld.gop
println("hello world")

printf("hello %s", "world")

执行:qrun helloworld.gop

  1. map
student := {"name":"zhangsan", "age": 20}
println(student)

students := [{"name":"zhangsan","age":20},{"name":"lisi","age":21}]
println(students)

students := [{"name":"zhangsan","age":20},{"name":"lisi","age":21},{"name1":"wangwu","age1":22}]
println(students)

这里map的schema是可以不同的,如name和name1

  1. 列表推导式(List comprehension)
list1 := [x*x for x <- [1,2,3]]
println(list1)        //[1 4 9]

list2 := [x for x <- [1,2,3,4,5,6,7,8,9], x % 2 == 0]
println(list2)      //[2 4 6 8]

map1 := {x: i for i, x <- [1,2,4,8]}
println(map1)    //map[1:0 2:1 4:2 8:3]

map2 := {x: i for i, x <- [1,2,3,4,5,6,7,8,9], i % 2 == 0}
println(map2)    //map[1:0 3:2 5:4 7:6 9:8]

map3 := {v: k for k, v <- {1:"a",2:"b",3:"c",4:"d"}, k > 2}
println(map3)    //map[c:3 d:4]
  1. for循环
for i<- [1,2,3,4,5,6,7,8,9], i % 2 == 0{
    println(i)
}
  1. 异常处理
import ("strconv")

func add(x,y string)(int,error){
    return strconv.Atoi(x)? + strconv.Atoi(y)?, nil
}

sum, err := add("1","x")
println(err)
println(sum)

异常处理通过在有异常返回值的函数后加?将异常返回,不用自己判断

工具

Playground https://play.goplus.org/

最后

整体感觉,土拨鼠被大蟒蛇缠住了

goplus.png

相关文章

  • GoPlus初体验 - 给golang插上翅膀

    GoPlus为国内云厂商七牛云推出的一门静态类型语言,与 Go 语言完全兼容。其代码样式类似脚本,并且比 Go 更...

  • 给产品插上翅膀

    在生活中,不管是实体商场,还是电商、微商,人们在购物的过程中看完或听完商品信息后都喜欢掏出手机搜一下,看看网上对该...

  • 给努力插上翅膀

    上学的时候,有的学生语文成绩很好,但是数学比较差。这时候学生会认为自己数学方面缺乏天赋,不适合学习数学,因此会停止...

  • 给猪插上翅膀

    狄更斯在100多年前说过:“这是最好的时代,这是最坏的时代;这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀...

  • 给梦想插上翅膀

    我出生在一个美丽的大山里,灵宝朱阳。 在上小学时,父母就教导我要好好学习,然而当时的自己很懵懂,虽...

  • 给梦想插上翅膀

    我出生在一个美丽的大山里,灵宝朱阳。 在上小学时,父母就教导我要好好学习,然而当时的自己很懵懂,虽...

  • 给孩子插上翅膀

    作者 艾米 书籍是人类最好的朋友,知识是人类进步的阶梯,阅读则是了解人生和获取知识的重要手段和最好途径。 “书中自...

  • 给梦想插上翅膀

    经常抱怨、觉得生活与自己处处为敌的人,多半是自己跟自己过不去。其实,你给生活希望,生活才能给你风景;你风声鹤唳,生...

  • 给梦想插上翅膀

    晨风轻轻推开疲惫的窗户 一缕阳光照进了温暖小屋 抚摸几下偷懒沉睡的闹钟 该行动了,快起来,起来! 带上你的梦想、带...

  • 给梦想插上翅膀

    做为一名财务工作者,却从来不理财,说出去真的有点汗颜。 梦想和目标之所以被搁置,多数是因为,没有把它们落实到书面上...

网友评论

    本文标题:GoPlus初体验 - 给golang插上翅膀

    本文链接:https://www.haomeiwen.com/subject/nafsqktx.html