Dart 概念
- 任何 保存在变量中的都是一个 对象, 并且所有对象都是 对应类 的实例.
- 尽管
Dart
是强类型的, 但是 Dart 可以 推断类型(就是可以根据 value 推断类型), 所以类型注释可可选的.
- 如果明确说明 不需要任何类型, 需要使用特殊类型声明
dynamic
.
- 支持泛型.
如: List <dynamic>
.
- 支持顶级函数.
如: main()
- 同样函数绑定在类或对象上(静态/实例)函数.
- 支持(嵌套/局部)函数.
- 顶级函数就是在最外层定义的函数.
- 支持顶级变量
- 同样变量绑定在类或对象上(静态/实例)变量.
- 实例变量有时成为字段或属性.
- 如果标识符以下划线(_)开头, 则是私有库/变量/方法等, 外部不可访问.
- 风格指南中 var 变量仅存储对象引用.
==
运算符用来测试两个对象是否相等.
..
语法为 级联调用 (cascade)。 使用级联调用, 可以简化在一个对象上执行的多个操作。
变量
- var: 变量
- dynamic: 动态类型
- final: 常量
- final 只能被赋值一次, 顶层的final变量或者类的final变量在其第一次使用的时候被初始化
- 实例变量可以是
final
类型但不能是 const
类型
- final 实例变量必须在构造器开始前被初始化, 或者作为构造器参数, 或者将其置于构造器的初始化列表中.
- const: 编译时常量
- null: 未初始化的变量默认值
内建类型
- Number(int/double)
- int: 整数值不大于 64 位
- double: 64(双精度)浮点数