首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

V 语言 (Vlang) 支持 lambdas

出品|开源中国

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 osfn 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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O6uXSDrMYp7N4rPMgv2CbY-Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券