Dart语法与内部原理
文章平均质量分 89
本专栏介绍了Dart的语言用法,以及dart特性的原理和使用细节
阿拉阿伯
除了自己的无知,
我什么都不懂。
展开
-
dart pragma注解 vm:entry-point
vm:entry-point 语用注释@pragma("vm:entry-point", ...) 必须放在类或成员上,以表明它可以在 AOT 模式下直接从本机或 VM 代码解析、分配或调用。背景Dart VM 预编译器(AOT 编译器)执行整个程序优化,例如摇树和类型流分析 (TFA),以减少生成的编译应用程序的大小并提高其性能。这种优化假设编译器可以看到整个 Dart 程序,并且能够发现和分析所有可能在运行时执行的 Dart 函数和成员。虽然 Dart 代码完全可用于预编译器,但嵌入器的本机代码和原创 2021-11-12 18:14:36 · 3801 阅读 · 0 评论 -
Flutter发布公用库、纯Dart包、Package
前言类似android的自定义控件,flutter也提供了仓库供开发者上传各种自定义功能,我们就一起来探寻怎么提供一个公共组件供dependencies依赖调用正文step1 :创建一个Flutter Package我们在AS中new出一个flutter package 起个名字选个路径就搞定或者使用命令flutter create --template=package frame_...原创 2019-12-04 17:30:32 · 1199 阅读 · 0 评论 -
Dart —— 编程语言概览
Dart 总览介绍,历史变迁,支持与生态,使用场景,以及语言特点原创 2019-12-05 11:57:14 · 846 阅读 · 0 评论 -
Dart —— 语法规范
Effective Dart: 设计准则用于指导为库编写一致的、可用的 API原创 2020-01-14 14:25:37 · 474 阅读 · 0 评论 -
Dart —— 变量声明 var final const 默认值
Dart中的变量声明 变量默认值 Final和Const原创 2019-12-05 14:46:15 · 1006 阅读 · 0 评论 -
Dart —— 基础数据类型 Number String Boolean List Map Set Rune Symbol
内建类型文章目录Dart 语言支持以下内建类型:NumberStringBooleanListSetMapRuneSymbolDart 语言支持以下内建类型:NumberStringBooleanList (也被称为 Array)MapSetRune (用于在字符串中表示 Unicode 字符)Symbol这些类型都可以被初始化为字面量。 例如, 'this is a s...原创 2019-12-05 15:59:46 · 712 阅读 · 3 评论 -
Dart —— 函数 函数参数 匿名函数
函数文章目录函数可选参数命名可选参数位置可选参数默认参数值main() 函数函数是一等对象匿名函数词法作用域词法闭包测试函数是否相等返回值Dart 是一门真正面向对象的语言, 甚至其中的函数也是对象,并且有它的类型 Function 。 这也意味着函数可以被赋值给变量或者作为参数传递给其他函数。 也可以把 Dart 类的实例当做方法来调用。已下是函数实现的示例:bool isNoble(i...原创 2019-12-05 19:24:52 · 1943 阅读 · 1 评论 -
Dart —— 运算符 算数,关系,类型判定,赋值,逻辑,按位移位,条件,级联
操作符文章目录操作符Dart 定义的运算符。算术运算符关系运算符类型判定运算符赋值运算符逻辑运算符按位和移位运算符条件表达式级联运算符 (..)其他运算符Dart 定义的运算符。DescriptionOperatorunary postfixexpr++ expr-- () [] . ?.unary prefix-expr !...原创 2019-12-06 14:36:46 · 823 阅读 · 0 评论 -
Dart ——流程控制语句 if and else , for, while and do-while , break and continue ,switch and case
控制流程语句你可以通过下面任意一种方式来控制 Dart 程序流程:if and elsefor loopswhile and do-while loopsbreak and continueswitch and caseassert使用try-catch 和 throw也可以改变程序流程, 详见 Exceptions。if 和 elseDart 支持......原创 2019-12-06 15:01:13 · 296 阅读 · 0 评论 -
Dart —— 异常 throw ,try , catch ,finally ,on Exception , rethrow
异常Dart 代码可以抛出和捕获异常。 异常表示一些未知的错误情况。 如果异常没有被捕获, 则异常会抛出, 导致抛出异常的代码终止执行。和 Java 有所不同, Dart 中的所有异常是非检查异常。 方法不会声明它们抛出的异常, 也不要求捕获任何异常。Dart 提供了 Exception 和 Error 类型, 以及一些子类型。 当然也可以定义自己的异常类型。 但是,此外 Dart 程序可以...原创 2019-12-06 15:19:00 · 6895 阅读 · 0 评论 -
Dart —— 类 变量,函数 ,构造函数,隐式接口,mixin ,with ,静态变量和方法
类Dart 是一种基于类和 mixin 继承机制的面向对象的语言。 每个对象都是一个类的实例,所有的类都继承于 Object. 。 基于 Mixin 继承 意味着每个类(除 Object 外) 都只有一个超类, 一个类中的代码可以在其他多个继承类中重复使用。使用类的成员变量对象由函数和数据(即方法和实例变量)组成。 方法的调用要通过对象来完成: 调用的方法可以访问其对象的其他函数和数据。使...原创 2019-12-06 17:43:48 · 1052 阅读 · 0 评论 -
Dart —— 泛型
泛型在 API 文档中你会发现基础数组类型 List 的实际类型是 List 。 <…> 符号将 List 标记为 泛型 (或 参数化) 类型。 这种类型具有形式化的参数。 通常情况下,使用一个字母来代表类型参数, 例如 E, T, S, K, 和 V 等。为什么使用泛型在类型安全上通常需要泛型支持, 它的好处不仅仅是保证代码的正常运行:正确指定泛型类型可以提高代码质量。使用...原创 2019-12-06 17:55:23 · 502 阅读 · 0 评论 -
Dart —— 异步支持
异步原创 2019-12-06 18:07:46 · 245 阅读 · 0 评论 -
Dart —— 库的可见性 如何实现自己的库
库和可见性import 和 library 指令可以用来创建一个模块化的,可共享的代码库。 库不仅提供了 API ,而且对代码起到了封装的作用: 以下划线 (_) 开头的标识符仅在库内可见。 每个 Dart 应用程序都是一个库 ,虽然没有使用 library 指令。库可以通过包来分发。有关 pub(集成在SDK中的包管理器)的信息,请参考 在pub上发布自己的库。使用库通过import指定...原创 2019-12-06 18:12:08 · 351 阅读 · 0 评论 -
Dart —— 词法作用域 词法闭包
本文介绍了dart的词法作用域原创 2020-01-16 10:37:44 · 1431 阅读 · 0 评论 -
Dart —— 生成器
生成器当需要延迟生成( lazily produce )一系列值时, 可以考虑使用生成器函数。 Dart 内置支持两种生成器函数:Synchronous 生成器: 返回一个 Iterable 对象。Asynchronous 生成器: 返回一个 Stream 对象。通过在函数体标记 sync*, 可以实现一个同步生成器函数。 使用 yield 语句来传递值:Iterable<in...原创 2019-12-06 19:01:01 · 340 阅读 · 0 评论 -
Dart —— Typedefs
Typedefs在 Dart 中,函数也是对象,就想字符和数字对象一样。 使用 typedef,或者 function-type alias 为函数起一个别名, 别名可以用来声明字段及返回值类型。 当函数类型分配给变量时,typedef会保留类型信息。请考虑以下代码,代码中未使用 typedef :class SortedCollection { Function compare; ...原创 2019-12-06 19:08:12 · 485 阅读 · 0 评论 -
Dart —— 元数据
元数据使用元数据可以提供有关代码的其他信息。 元数据注释以字符 @ 开头, 后跟对编译时常量 (如 deprecated) 的引用或对常量构造函数的调用。对于所有 Dart 代码有两种可用注解:@deprecated 和 @override。 关于 @override 的使用, 参考 扩展类(继承)。 下面是使用 @deprecated 注解的示例:class Television { ...原创 2019-12-06 19:11:01 · 373 阅读 · 0 评论 -
Dart dynamic,var,object的区别
本文介绍了Dart的dynamic,var,object 的区别原创 2020-01-02 16:13:18 · 695 阅读 · 0 评论 -
Dart 构造函数最详细的解析
本文讲述了Dart中构造函数写法 。工厂构造函数 常量构造函数 普通构造函数的关系原创 2019-12-10 18:53:43 · 3202 阅读 · 0 评论 -
Dart 单例的四种写法
文章目录dart中的单例工厂构造 Factory constructor静态变量 Static field with getter静态变量Static field常量和工厂构造 const constructor & factorydart中的单例工厂构造 Factory constructorclass Singleton{ Singleton._privateConstru...原创 2019-12-10 19:08:35 · 9633 阅读 · 1 评论 -
Dart 类的继承与混入(Mixin) extends 、 implements 、 with的用法与区别
本文介绍了dart的继承 ,用一个例子介绍了mixin,以及mixin的细节原创 2019-12-27 15:11:23 · 2601 阅读 · 1 评论 -
Dart 内存管理机制
本文介绍了Dart内存分配与回收原创 2019-12-27 15:36:30 · 2303 阅读 · 0 评论 -
Dart 异步模型
本文讲述Dart的异步实现Future 以及它的语法糖讲述了Future各个API是如何通过消息队列来进行任务调度原创 2019-12-27 16:01:15 · 917 阅读 · 0 评论 -
Dart 事件循环
Dart 是事件驱动的体系结构,该结构基于具有单个事件循环和两个队列的单线程执行模型。原创 2019-12-27 16:24:30 · 666 阅读 · 0 评论 -
Dart Future模型 async 和 await
本文主要介绍了Future本文已重新梳理归纳为异步三部曲 请观众老爷移步观看原创 2019-12-27 16:50:50 · 780 阅读 · 0 评论 -
Dart Isolate
将非常耗时的任务添加到事件队列后,仍然会拖慢整个事件循环的处理,甚至是阻塞。可见基于事件循环的异步模型仍然是有很大缺点的,这时候我们就需要Isolate原创 2019-12-27 17:04:36 · 877 阅读 · 0 评论 -
Dart 反射
在Dart中,symbol用来反射库中的元数据,本文介绍了Dart中的反射如何使用,反射类族mirror家族,以及反射各种数据的类解析原创 2020-01-10 16:21:46 · 2357 阅读 · 0 评论 -
Dart 任务调度
本文讲述了dart中代码的执行顺序,以及如何控制任务在什么时间执行原创 2020-01-15 14:33:32 · 511 阅读 · 0 评论 -
Dart 怎么取消Future
本文介绍了 如何取消Future的回调原创 2020-01-16 11:46:19 · 1851 阅读 · 0 评论 -
Dart —— dart:core 集合
本文介绍了 dart:core包中的集合原创 2020-01-16 11:24:21 · 430 阅读 · 0 评论