玩一玩 vlang

初识 vlang 应该是从秋名山群开始的吧,某大佬分享了 vlang 之后自己不玩,于是就我来玩吧2333。

在 github 上找到 vlang 的源码,下载编译之,这里直接遇到第一个坑!

坑!

有没有看到后面有一句话告诉你 code 目录是必要的,至少在当前版本是必需的,像我这种不看文档,下载就编译的人直接吃了个亏。

随后把编译结果 link 到 /usr/local/bin 就完事。

接下去配置一下 vscode,比较出乎意料的是 vscode 上已有 vlang 插件,而且还挺好用的。

插件

同时还需要下载并配置 CodeRunner 插件,加入 vlang 的运行命令,以方便我们直接运行代码。

"v": "v $fileName && ./$fileNameWithoutExt"

接下去自然是看看文档然后写点代码玩玩,由于事先知道这东西和 go 很像,我就直接往后翻了,直到一段代码映入眼帘:

struct Dog {}
struct Cat {}

fn (d Dog) speak() string { 
    return 'woof'
} 

fn (c Cat) speak() string { 
    return 'meow' 
} 

interface Speaker {
    speak() string
}

fn perform(s Speaker) { 
    println(s.speak())
} 

fn main() {
    dog := Dog{} 
    cat := Cat{} 
    perform(dog) // ==> "woof" 
    perform(cat) // ==> "meow" 
}

直接被吓死,第一次看到接口是如此设计的语言,真要用起来,接口的实现上哪找:(

另外还有一些看起来很有特色但是我一点都不喜欢的特性,比如说这些:

特别提一句,v 没有泛型!总体来说,v 并不算出彩的语言,语言特性非常弱,容易上手,但是要实现复杂的内容,恐怕还是会落入到 go 的俗套(当时学习 go 的时候我就吐槽过为什么没有泛型,结果到了现在依然没有,结合其他的一些缺点,我甚至不认为它是一门现代的语言),动态能力不足。

或许对于我来说,玩过一把之后就这样吧,继续等它完善了(别再学 go 了!!!)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,404评论 2 35
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • [TOC] 注意:本文档默认已经安装好go语言环境且已经设置好相应环境变量 1. 安装vscode 根据自身系统下...
    木鸟飞鱼阅读 13,296评论 0 3
  • 透过现象问出本质 透过问题激发要求 哲学家就像一位刚从洞穴中释放出来的犯人一样,现在终于能看到现实的真实面目了。人...
    章鱼狗阅读 369评论 0 0
  • 结婚以来我没吃过一顿像样的饭,怀孕的我,一顿三餐都难以保证。 最后想了一个办法就是每天吃饭店,不吃也没办法,...
    刘也行阅读 242评论 0 0