我是flutter和dart的新手。我看到main调用第一个小部件,如下所示,并添加了print语句。
void main() {
print('begin ');
runApp(MyApp());
print('end');
}
我看另一个办法是
void main() => runApp(MyApp());
但是当我试着跟随它时它不工作
void main() => { print(' begin '); runApp(MyApp()); };
我的问题是,如果我想在第二种(***=〉***)方法中运行多个语句,我如何才能做到这一点,=〉操作符的名称是什么?
5条答案
按热度按时间93ze6v8z1#
如果你有一个只包含一行的方法,你可以使用=〉来保存空间,并使整个方法声明和主体适合在一行上。你可以有多个操作,只要它们适合在一行上。它基本上翻译成'只返回这个值'(它的行为就像一个return语句)。
完全等同于说:
但是,如果您有一个包含多行的方法,则需要使用方括号。
zkure5ic2#
我不知道为什么没有人回答,但可以使用箭头函数调用许多语句,但您需要在它们之间使用逗号(类似于将参数传递给函数),这在将许多函数传递给onTap或OnClick函数时很有用
你例子:
bbmckpt73#
=>
本身并不是一个运算符。它是一种语法,允许您编写执行单个操作并返回值的单行函数。例如:这些示例中的每一个都等效于使用花括号和
return
语句完全写出的方法。然而,根据定义,单行函数只需要一行代码。如果你想要第二行代码,你就不能使用单行函数,而必须编写一个完整的方法:
在最后一个例子中,将
=>
和{}
组合起来并不会让单行函数执行多行代码,而是让函数尝试返回一个map或set,因为这就是花括号中的值的含义。例如:如果你试图用它偷偷地把多行代码插入到函数中,编译器会把它解释为一个集合,最好的情况下不会像你预期的那样工作,最坏的情况下会抛出一个错误。
zsohkypk4#
=>
运算符称为箭头运算符使用
=>
运算符内联定义的函数称为Lambda函数或箭头函数。这些函数执行并返回单个语句。如果要执行多个语句,可以使用匿名函数。指定时使用
{}
,不使用=>
运算符:(匿名函数也可以有返回值)
有一个关于它的大线程here on Stack Overflow
uklbhaso5#
正如其他人所说,
=>
运算符被称为箭头运算符,它是一个单行程序。我希望在按钮的
onPressed
中有多行代码,这是一种实现方法: