要从函数中获取值,我可以这样做:
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;
}
}
有人能告诉我它们之间的区别吗?哪一个是“正确的”或者它们适用于哪些用例?
调用代码的语法不同。在
get
的情况下,您只需使用 print(goOutside);
,但在函数的情况下,您可以使用 ()
运算符调用,如 print(goOutside());
中那样。这也意味着该函数可以接受参数列表中的参数,但 getter 不能。
我会选择 getter 而不是不接受任何参数的函数,因为这可能会导致代码更清晰、更易于维护。但是,如果代码有任何有趣的业务,例如 IO 或程序可见的副作用,我会使用函数来明确这一点并避免难以发现的错误。
免责声明: 我不是 Dart 专家。这个答案是推测性的。