Dart基础

Dart基础

Dart语言是学习flutter的基础,其与Java、Kotlin在部分语言特性上有类似的地方。

Dart中的特性

  • 所有的变量、数字、函数等内容都是对象,并且所有的对象都是类的实例。
  • Dart是强类型语言。
  • 入口是main()。
  • 在运行前解析,制定数据类型和编译时的敞亮可以提高运行效率。
  • 没有public protected private的权限概念。

变量、常量

Dart中可以用var、object、dynamic关键字来声明变量。

object将变量指定为对象类型。

dynamic将变量指定为动态类型。

Dart中,未初始化的变量默认值是null。

声明常量需要使用final或const关键字。final关键字修饰的变量的值只能被设置一次,const关键字修饰的变量在编译时就已经被固定。实例变量可以是final变量,但是不能是const变量。

内置数据类型

Dart中共有8中类型,如下表所示。

序号 类型名字 类型说明
1 Number 分为两种:整型(int)和浮点型(double)。int可以转成double,double不可以转成int
2 String UTF-16的单元序列。可以在字符串前添加一个r,表示创建原始raw字符串
3 Bool true or false
4 List 表示列表,和数组是同一概念,索引从0开始
5 Set 表示集合,不能有重复的对象
6 Map 以Key-Value的形式存储,key只能出现一次
7 Rune 表示UTF-32字符串,可以将文字转换成符号表情或者代表特定含义的文字
8 Symbol 在Dart程序中声明的运算符或标识符

函数

main()函数

main()函数是任何一个函数的入口,返回值为空。参数为一个可选类型的List<String>的数组。

函数参数

Dart中的函数的可选参数分为 可选命名参数可选位置参数 ,可选命名参数的参数部分使用{}进行包裹,可选位置参数的参数部分使用[]进行包裹。

Dart的函数中存在必选参数,使用@required进行修饰。

异步编程

Future

类似于Java中的Future,是一个事件队列任务。Dart中的异步任务处理成功就执行成功的操作,异步任务失败就处理错误或停止后的后续操作。

async/await

在Future中,使用async修饰的方法会将Futrue对象作为返回值。如果使用await导致编译时错误,那么需要确认await是否工作在一个异步函数中。

Stream

Stream除了可以接收单个异步事件数据外,还可以接收多个异步任务的结果。根据数据监听器个数的不同,Stream数据流可以分为单订阅流和多订阅流。

posted @ 2021-11-04 11:17  野生的Lemon柠檬  阅读(55)  评论(0编辑  收藏  举报

呱呱呱呱呱🐸