gpt4 book ai didi

dart - Dart语言中的哪些源代码可以视为有效,为什么?

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

该脚本(源代码)可以在生产模式下完美执行。

void main() {
int greeting = "Hello world!";
print(greeting);
}

这是一个传统的hello世界示例,在Dart中效果很好。

结果是“Hello world!”。

该脚本是自已的,因为它不需要其他功能,并且可以按预期工作。

现在我有个小问题:
  • 我可以认为此脚本是有效且正确的Dart语言源代码,因为它可以按预期工作吗?
  • 如果此脚本是Dart语言中的有效源代码,那么为什么不能在非生产模式下执行该脚本?
  • 如果某些代码可以在生产模式下完美执行但不能在其他模式下执行,那么Dart中的哪种模式更正确(生产模式或其他模式)?

  • 附言

    作为程序员,我对理论和实践都不感兴趣,但是我只对基于真实示例的小问题的答案感兴趣(即使很小)。

    如果我的问题不是很正确,那么我想知道为什么?

    因为它们与Dart语言编程直接相关。

    最佳答案

    这是有效的,因为在生产模式下将忽略类型。

    在检查模式下(仅用于开发),将检查类型,并且会出现异常。

    Dart中的类型不是用于运行时,而是用于开发时,以使工具能够推理代码并显示可能的错误。
    这意味着您键入Stringvar都没有关系。您不能完全省略它,因为这违反了语法。

    可以在生产模式下执行

    # ~/dart/playground/bin/dart_valid
    $ dart main.dart
    Hello world!

    在检查模式(开发模式)下失败

    # ~/dart/playground/bin/dart_valid
    $ dart -c main.dart
    Unhandled exception:
    type 'String' is not a subtype of type 'int' of 'greeting'.
    #0 main (file:///home/zoechi/source/my/dart/playground/bin/dart_valid/main.dart:2:18)
    #1 _startIsolate.isolateStartHandler (dart:isolate-patch/isolate_patch.dart:216)
    #2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:115)
    pub build失败,因为它使用了分析器,该分析器利用了类型注释(例如在检查模式下抛出)。

    关于dart - Dart语言中的哪些源代码可以视为有效,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22526615/

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