72、Dart编程语言规范详解

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可以来自缓存,也可以是新创建的实例。

消息传递机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值