Dart中表达式和语句之间的区别?
由于不同的语言对表达式和语句有不同的定义,因此在Dart中它们之间有什么区别?我对Dart还是新手,但有着以前的知识(以及阅读Dart语言教程):Dart中表达式和语句之间的区别?,dart,expression,dart-pub,Dart,Expression,Dart Pub,由于不同的语言对表达式和语句有不同的定义,因此在Dart中它们之间有什么区别?我对Dart还是新手,但有着以前的知识(以及阅读Dart语言教程): 表达式通常计算为某个值,例如,当使用条件表达式时,条件?expr1:expr2的值为expr1或expr2 语句没有值,或者通常不直接更改值 语句包含表达式,但表达式不能包含语句 以上是我对我试图为你们简化的要点的解释,在阅读时发现是这样的: Dart既有表达式(有运行时值)也有语句(没有)。例如,条件表达式条件?expr1:expr2的值为ex
- 表达式通常计算为某个值,例如,当使用条件表达式时,
的值为条件?expr1:expr2
或expr1
expr2
- 语句没有值,或者通常不直接更改值
语句
包含表达式
,但表达式
不能包含语句
以上是我对我试图为你们简化的要点的解释,在阅读时发现是这样的:
Dart既有表达式(有运行时值)也有语句(没有)。例如,条件表达式<代码>条件?expr1:expr2的值为expr1
或expr2
。将其与没有值的if-else语句进行比较。语句通常包含一个或多个表达式,但表达式不能直接包含语句
来自维基百科:
在数学中,表达式或数学表达式是符号的有限组合,根据上下文的规则,这些符号形式良好。数学符号可以指定数字(常数)、变量、运算、函数、括号、标点符号和分组,以帮助确定运算顺序和逻辑语法的其他方面
飞镖也是一样
在这种情况下,语句可以描述为表达式和可能的其他符号的组合,这些符号是正确表示具体语句所必需的
在Dart中,语句可以为空,这意味着该语句不包含任何表达式。空语句可以用格式良好的符号表示,也可以由上下文确定
if-else
语句的示例(伪代码)
if(表达式){statement(s)}else{statement(s)}
简短回答
表达式是值,语句起作用
例子
如果你能看到例子,这就更有意义了
表达
表达式在运行时具有值
42
true
hello
1+1
x
myObject
myInt+1
k++
p>0
条件?expr1:expr2
'hello'.toUpperCase()
myObject.toString()
myObject.someMethod()
myObject?.someProperty?.someMethod()
myString.isEmpty
[1,2,3]
[…列表1]
{…a,…b}
myInt=1代码>
print('hello')代码>
返回null代码>
if(name!=null){return name;}else{return'Guest';}
for(var i=0;i<5;i++){message.write('!');}
break代码>
while(!isDone()){doSomething();}
产生k++代码>
assert(text!=null)代码>
throw FormatException('至少需要1个节')代码>
void distance to(Point other)=>throw UnimplementedError()代码>
我认为不同的语言之间没有太大的差异。另请参见vs Is
int a=10+20
表达式或语句?@iDecode,因为int a=10+20代码>执行某些操作(声明一个整数变量,然后为其赋值),它是一条语句。右侧的10+20
是一个表达式(值为30
)。