企业资讯,产品资讯_博拉资讯 技术资讯 V语言 (Vlang) 支持 lambdas

V语言 (Vlang) 支持 lambdas

广告位

V 语言终于有 lambdas 了。

V语言 (Vlang) 支持 lambdas

V 是一个集合了 Go 的简单和 Rust 的安全特性的静态语言,作者表示 V 与 Go 非常相似,如果你了解 Go,那么就已经了解 80% 的 V。V 在 Go 的基础上进行改进之处:https://vlang.io/compare#go

V 主要特性

  • 简单(作者声称可以在不到一小时内学习 V)
  • 快速编译(编译器只有 400kb,而且无第三方依赖)
  • 易于开发:V 在不到一秒钟的时间内完成编译
  • 安全:没有 null、没有全局变量、没有未定义的值、边界检测、默认使用 Immutable 结构体
  • 支持 C/C++ 转换
  • 方便使用的交叉编译
  • 提供跨平台 UI 库
  • 内置图形库
  • 内置 ORM
  • 内置 Web 框架
  • ……

根据V语言仓库的 PR 合并信息,目前已添加对短 lambda 表达式的支持,例如:

  a.sorted(|x,y| x > y)

V语言 (Vlang) 支持 lambdas

▲ https://github.com/vlang/v/pull/19390

示例代码

  • 使用函数/表达式进行回调,从外部源获取它们的值
  import os    fn f( cb fn() string ) string { return cb() }    dump( f(fn() string { return os.args[0] }) )    // the same, just shorter:  dump( f(||os.args[0]) ) 

打印结果如下:

  [a.v:5] f(anon_fn): /v/vnew/a  [a.v:6] f(|| os.args[0]): /v/vnew/a

展开阅读全文
本文来自网络,不代表企业资讯,产品资讯_博拉资讯立场,转载请注明出处。

作者: 博拉资讯

上一篇
下一篇
广告位

发表回复

返回顶部