代码之家  ›  专栏  ›  技术社区  ›  Shubhamhackz

Dart中表达式和语句之间的区别?

  •  2
  • Shubhamhackz  · 技术社区  · 6 年前

    由于不同的语言对表达式和语句有不同的定义,在Dart中它们之间有什么区别?

    2 回复  |  直到 4 年前
        1
  •  6
  •   Suragch Shmidt    4 年前

    表达是 ,及声明 .

    例子

    表达

    表达式在运行时具有值。

    • 42
    • true
    • hello
    • 1 + 1
    • x
    • myObject
    • myInt + 1
    • k++
    • p > 0
    • condition ? expr1 : expr2
    • 'hello'.toUpperCase()
    • myObject.toString()
    • myObject.someMethod()
    • myObject?.someProperty?.someMethod()
    • myString.isEmpty
    • [1, 2, 3]
    • [...list1]
    • <String, String>{...a, ...b}

    声明

    • myInt = 1;
    • print('hello');
    • return null;
    • if (name != null) { return name; } else { return 'Guest'; }
    • for (var i = 0; i < 5; i++) { message.write('!'); }
    • break;
    • while (!isDone()) { doSomething(); }
    • yield k++;
    • assert(text != null);
    • throw FormatException('Expected at least 1 section');
    • void distanceTo(Point other) => throw UnimplementedError();

    笔记 :这里的大多数示例都是通过搜索 documentation 表示 陈述 .

        2
  •  5
  •   Dinko Pehar    6 年前

    我对Dart还不熟悉,但有着之前的知识(以及阅读Dart语言教程):

    • condition ? expr1 : expr2 价值 expr1 expr2 .
    • 声明

    A. statement 包含 expressions ,但是 expression 禁不住 陈述 .

    以上是我在阅读时发现的我试图为你们简化的要点的解释 language tour on category important concepts 事情是这样的:

    达斯兼有这两个优点 表达 (具有运行时值)和 (哪个没有)。例如 条件expr1:expr2 价值 expr2 . 将其与 ,它没有任何价值。语句通常包含一个或多个表达式,但表达式不能直接包含语句。

        3
  •  2
  •   mezoni    6 年前

    在数学中,表达式或数学表达式是符号的有限组合,根据上下文的规则,这些符号形式良好。数学符号可以指定数字(常数)、变量、运算、函数、括号、标点符号和分组,以帮助确定运算顺序和逻辑语法的其他方面。

    飞镖也是一样。

    在这种情况下,语句可以描述为表达式和可能的其他符号的组合,这些符号是正确表示具体语句所必需的。

    在Dart中,语句可以为空,这意味着该语句不包含任何表达式。空语句可以用格式良好的符号表示,也可以由上下文确定。

    示例(伪代码) if-else 陈述

    if (expression) { statement(s) } else { statement(s) }