首页    新闻    小组    威客    人才    下载    博客    代码贴    在线编程    论坛
V语言 (Vlang) 支持 lambdas
2023年9月23日 03:07 | 阅读 869 次

V 语言终于有 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)

▲ 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

(文/开源中国)    




评论 (0)
游客请输入验证码
最新评论
0
0
收藏