Dart编程语言规范详解
1. 引言
Dart编程语言是一种面向对象的、单继承的、基于类的语言,支持泛型和接口。它被设计为一种可选类型的编程语言,这意味着类型注解是可选的,但在静态检查模式下会进行严格的类型检查。Dart还支持并发处理,通过一种称为isolates的实体实现,这些实体类似于actor模型。Dart的设计初衷是为了提高Web开发的效率,因此它被设计成可以直接编译成JavaScript,以保证在浏览器中的高效运行。
2. 作用域和隐私
Dart是词法作用域的语言,使用单一命名空间管理变量、函数和类型。如果在一个作用域内声明了多个同名实体,这将导致编译时错误。内部作用域中的名称可以隐藏外部作用域中的名称,但如果一个声明引入了一个在词法上包含的作用域中可用的名称,则会触发静态警告。
Dart支持两种隐私级别:public和private。如果声明以字符 _ 开头,则它是private;否则,它是public。private声明只能在其声明所在的库中访问。隐私机制与代码的安全性无关,主要用于软件工程方面的需求,例如防止意外的代码冲突。为了安全考虑,不受信任的代码应当在另一个isolate中运行。
3. 并发处理
Dart代码总是单线程的,因此它不支持共享状态的并发。并发处理通过称为isolates的实体实现,每个isolate有自己的内存和独立的控制线程。isolate之间通过消息传递进行通信,确保没有任何状态共享。isolate的创建通过生成(spawn)实现,生成的isolate可以来自缓存,也可以是新创建的实例。
超级会员免费看
订阅专栏 解锁全文
88

被折叠的 条评论
为什么被折叠?



