要从函数中获取值,我可以这样做:
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;
}
}
有谁能告诉我它们之间的区别吗?哪一个是正确的?或者它们在哪些用例中是好的?
1条答案
按热度按时间c90pui9n1#
调用代码的语法是不同的。在
get
的情况下,你只需要使用print(goOutside);
,但是在函数的情况下,你需要使用()
操作符来调用,就像在print(goOutside());
中一样。这也意味着函数可以接受arguments列表中的参数,但是getter不能。我会选择一个getter函数,而不是一个不接受参数的函数,因为这样可以产生更干净、更易于维护的代码。但是,如果代码有任何有趣的事情,比如IO或程序可见的副作用,我会选择一个函数来明确这一点,避免难以发现的bug。
免责声明: 我不是 dart Maven。这个答案是推测性的。