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

问题描述 投票:0回答:1

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

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;
    }
  }

有人能告诉我它们之间的区别吗?哪一个是“正确的”或者它们适用于哪些用例?

function dart getter
1个回答
0
投票

调用代码的语法不同。在

get
的情况下,您只需使用
print(goOutside);
,但在函数的情况下,您可以使用
()
运算符调用,如
print(goOutside());
中那样。这也意味着该函数可以接受参数列表中的参数,但 getter 不能。

我会选择 getter 而不是不接受任何参数的函数,因为这可能会导致代码更清晰、更易于维护。但是,如果代码有任何有趣的业务,例如 IO 或程序可见的副作用,我会使用函数来明确这一点并避免难以发现的错误。

免责声明: 我不是 Dart 专家。这个答案是推测性的。

© www.soinside.com 2019 - 2024. All rights reserved.