gpt4 book ai didi

flutter - 在专业环境中,哪种方法更常见?

转载 作者:行者123 更新时间:2023-12-03 04:15:15 25 4
gpt4 key购买 nike

我是Dart-Flutter的新手,没有任何专业团队经验。所以我想问一个关于这两个表达式的简单问题:

if (components.contains('A')) {
} else {
components.add('A');
}

components.contains('A')
? () {}()
: components.add('A');

在专业环境或团队合作方式中,哪一个更受欢迎?我读过几篇文章,基本上都是在减少编写代码时减少 if - else的使用,但是IMO if - else的方式更具可读性(我不确定这个 ? :表达式叫什么),但我只是一个新手。

最佳答案

两者都是亲爱的。您不必为此担心太多。让我比较一下这两个。

三元运算符(? :):

当您必须根据条件将值分配给变量时,非常便于阅读。

您必须使用三进制处理truefalse两种情况。

如果您的病情简单,这是个好方法。在 flutter 中,您可以执行以下操作:

bool isLoading = false;
//...

return Container(
child: isLoading ? CircularProgressIndicator() : Text("data"),
)
if- else:

当您要根据条件执行多项操作时,此功能更加方便。如果要检查多个条件,可以使用 else if

如果只想处理 truefalse,则只能使用没有 if块的 else,而这是三元处理无法做到的。

如果使用 if,与上述示例相同:
bool isLoading = false;
//...
if (isLoading) { // with or without bracket if one line
// you can have any other computations here but cannot do it with ternary
return Container(
child: CircularProgressIndicator(),
);
} else {
return Container(
child: Text("data"),
);
}

在这种情况下,您可以说三元是最易读和方便的方法。

因此,可读性取决于位置和逻辑。不是来自 if- else或Turnary运算符。

关于flutter - 在专业环境中,哪种方法更常见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59539072/

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