网站建设是什么专业啊登陆建设官方网站
2026/4/13 16:22:28 网站建设 项目流程
网站建设是什么专业啊,登陆建设官方网站,建设网站如何盈利,wordpress 删除分类序言 是的没错#xff0c;dart中也有注解#xff0c;而且和java很像 比如这个Deprecated、override 都是非常熟悉的注解。 但是我们依然要过一下#xff0c;目的不是深入了解dart中每个注解的实际使用场景#xff0c;而是一种泛的了解。 文档描述 注解又叫MetadataUse meta…序言是的没错dart中也有注解而且和java很像比如这个Deprecated、override 都是非常熟悉的注解。但是我们依然要过一下目的不是深入了解dart中每个注解的实际使用场景而是一种泛的了解。文档描述注解又叫MetadataUse metadata to provide additional static information about your code. A metadata annotation begins with the character , followed by either a reference to a compile-time constant (such as deprecated) or a call to a constant constructor.译文使用注解提供有关代码的额外静态信息。元数据注释以字符开始后面是对编译时常量的引用例如deprecated或对常量构造函数的调用。Metadata can be attached to most Dart program constructs by adding annotations before the construct’s declaration or directive.译文元数据可以通过在大多数Dart程序结构的声明或指令之前添加注释的方式附加到该结构中。Built-in annotations 内置的注解DeprecatedMarks a declaration as deprecated, indicating it should be migrated away from, with a message explaining the replacement and potential removal date.将声明标记为已弃用deprecated表示应该迁移该声明并给出解释替换日期和潜在删除日期的消息。deprecated和上面的很像但是首字母不是大写Marks a declaration as deprecated until an unspecified future release. Prefer using Deprecated and providing a deprecation message.将声明标记为废弃直到未指定的未来版本。建议使用Deprecated并提供弃用消息。和上面的主要区别就是Deprecated可以提供弃用信息override这是我们非常熟悉的在dart中他的使用场景也是相同的Marks an instance member as an override or implementation of a member with the same name from a parent class or interface.将实例成员标记为父类或接口中具有相同名称的成员的覆盖或实现。pragmaProvides specific instructions or hints about a declaration to Dart tools, such as the compiler or analyzer.提供有关Dart工具如编译器或分析器声明的特定指令或提示。这个感觉是个新东西。暂时不深入知道就行Analyzer-supported annotations Analyzer 支持的注解详解Beyond providing support and analysis for the built-in annotations, the Dart analyzer provides additional support and diagnostics for a variety of annotations from package:meta.除了为内置注释提供支持和分析外Dart分析器还为来自meta包的各种注释提供了额外的支持和诊断。visibleForTestingMarks a member of a package as only public so that the member can be accessed from the package’s tests. The analyzer hides the member from autocompletion suggestions and warns if it’s used from another package.将包的成员标记为仅public以便可以从包的测试中访问该成员。分析器会在自动补全建议中隐藏成员并在其他包中使用该成员时发出警告。通俗的讲就是虽然这个成员是public但是有了这个注解标记之后他就不允许被其他的包中调用。主要为了测试使用awaitNotRequiredMarks variables that have a Future type or functions that return a Future as not requiring the caller to await the Future. This stops the analyzer from warning callers that don’t await the Future due to the discarded_futures or unawaited_futures lints.将具有Future类型的变量或返回Future的函数标记为不需要调用者等待Future。这阻止了分析器警告那些由于discarded_futures或unawaited_futures检查而不等待Future的调用者。被调用者虽然是异步但不会返回结果调用处无需awaitCustom annotationsclassMyAnnotation{finalString value;constMyAnnotation(this.value);}MyAnnotation(hello)vara0;MyAnnotation(hello)voidmyFunction(){print(hello world);}voidmain(){myFunction();}Specifying supported targets指定注解支持的目标To indicate the type of language constructs that should be annotated with your annotation, use the Target annotation from package:meta.要指定应该用注释标注的语言结构的类型请使用package:meta中的Target注释。请看下面的例子importpackage:meta/meta_meta.dart;Target({TargetKind.function,TargetKind.method})classMyAnnotation{finalString value;constMyAnnotation(this.value);}MyAnnotation(hello)//The annotation MyAnnotation.new can only be used on methods or top-level functions.dartinvalid_annotation_targetvara0;MyAnnotation(hello)voidmyFunction(){print(hello world);}这是我们学习至今首次用到其他包的内容我们需要添加依赖

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询