Dart中的函数和getter有什么区别?

ymdaylpp  于 2023-04-09  发布在  其他
关注(0)|答案(1)|浏览(130)

要从函数中获取值,我可以这样做:

bool goOutside() {
    if(today is a good day){
      return true;
    }else{
      return false;
    }
  }

但我也可以这样做:

bool get goOutside {
    if(today is a good day){
      return true;
    }else{
      return false;
    }
  }

有谁能告诉我它们之间的区别吗?哪一个是正确的?或者它们在哪些用例中是好的?

c90pui9n

c90pui9n1#

调用代码的语法是不同的。在get的情况下,你只需要使用print(goOutside);,但是在函数的情况下,你需要使用()操作符来调用,就像在print(goOutside());中一样。这也意味着函数可以接受arguments列表中的参数,但是getter不能。
我会选择一个getter函数,而不是一个不接受参数的函数,因为这样可以产生更干净、更易于维护的代码。但是,如果代码有任何有趣的事情,比如IO或程序可见的副作用,我会选择一个函数来明确这一点,避免难以发现的bug。

免责声明: 我不是 dart Maven。这个答案是推测性的。

相关问题