gpt4 book ai didi

dart - Flutter/Dart - () {} 和 () => {} 之间的区别

转载 作者:IT老高 更新时间:2023-10-28 12:38:48 25 4
gpt4 key购买 nike

在 Flutter/Dart 中,示例有时显示粗箭头,有时不显示。以下是示例:

RaisedButton(
onPressed: () {
setState(() {
_myTxt = "Text Changed";
});
},

你看到的其他地方:

void main() => runApp(MyApp());

最佳答案

粗箭头语法只是返回表达式的简写,类似于 (){ return expression; }.
根据docs .

Note: Only an expression—not a statement—can appear between the arrow (=>) and the semicolon (;). For example, you can’t put an if statement there, but you can use a conditional expression

void main(){
final cls = TestClass();
cls.displayAnInt((){
//you can create statements here and then return a value
int num1 = 55;
int num2 = 1;
int sum = num1 + num2;
return sum;
});
cls.displayAnInt(() => 55 + 1); // simply return an int expression
}
class TestClass{

displayAnInt(makeIntFunc){

int intValue = makeIntFunc();
print('The int value is $intValue');
}
}

从上面的代码可以看出,当使用回调函数并返回一个值时,可以进行多行语句,而粗箭头只是一个没有return关键字的表达式。

考虑到您关于胖箭头不支持 dart 中的多行语句的回答。这是完全可以理解的,因为执行 () => {somtheing} 意味着您正在返回一个 map ,并且它会期望看到类似 () => {'name':'John' , 'age':25} 而不是 () => { _myTxt = "Text Changed";_myTxt = "Never Mind"; } .

关于dart - Flutter/Dart - () {} 和 () => {} 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51868395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com