首页 > 解决方案 > Dart 中是否有与 C++ 类似的 std::bind ?

问题描述

假设我有这样的东西

void funct(int a ,int b)
{
    std::cout << a+b ;//3+2=5
}

在 C++ 中,我们可以将一个值绑定到参数到 b,因此回调只需要传入一个参数。我们可以在 dart 中做到这一点吗?

int main()
{
 auto f = std::bind(&funct,std::placeholders::_1,2); //pass b=2
 f(3);
}

标签: dart

解决方案


正如您问题下方的评论中所述,您可以通过关闭来完成此操作:

void funct(int a, int b) {
  print(a + b);
}

void main() {
  var f = (b) => funct(2, b);
  f(3);
}

推荐阅读