Dart开发环境安装
概述
Dart可以用来开发移动应用,web应用、开发命令行应用和服务端应用,主要有以下ide选择
1.VS Code 在VS Code中安装Dart插件来开发
2.Android studio 主要用来移动应用开发
3.webStorm,Intellij,DartPad在线进行
Dart SDK概要
1.Dart SDK包含web开发,命令行和服务端应用所需要的库和命令行工具,如果只是想移动开发,则不需要Dart SDK,只需要安装flutter即可
安装步骤参考(https://dart.dev/get-dart)
2.设置环境变量
Dart基本概念
1.一切皆对象。所有变量的引用都是对象,数字,函数,null都是对象,都继承自object类
2.Dart声明变量类型可选。Dart可以进行类型推断,dynamic可以声明一个不确定的类型
3.Dart支持泛型,List<int>或List<dynamic>(由任何类型对象组成的列表)
4.Dart支持顶级函数,支持属于类或对象的函数,支持嵌套函数:main
5.Dart支持顶级变量,支持属于类或对象的变量。
6.标识符下划线开头表示库内私有:_number,_name()
7.标识符字母,数字,下划线,由字母或下划线开头
8.Dart表达式有值,语句没有值。
9.Dart工具可以显示警告和错误两个类型
变量
~ 变量仅存储对象的引用
~ 变量申明的时候可以不指定类型
~ 未初始化的变量默认值都是null
~ 可以使用关键字final或者coast修饰变量,final只能赋值一次,coast为编译时常量,顶层的final变量或者类的final变量在第一次使用的时候被初始化
Dart方法
main()函数
每个dart程序必须有一个main()函数,作为程序的入口,返回值为void并且有一个List<String>类型的可选参数
函数作为一级对象
可以将函数作为参数传递给另一个函数
可以将函数赋值给另个变量
词法作用域
变量的作用域在写代码的时候就确定了,大括号内的变量只能在大括号内访问
词法闭包
闭包:即一个函数对象,即时函数对象的调用在他原始作用域之外,依然能够访问在它词法作用域内的变量。
返回值
所有函数都有返回值,没有显示返回语句的函数最后默认执行return null
流程控制语句
if(){
}else{
}
while
do while
for
for.each
for.in
switch
break:用来结束最近的while do while for 或者switch语句,并将程序的执行权传递给紧接在被终止语句之后的语句
continue:语句导致最近的循环语句的当次迭代提前结束
类型:枚举,枚举类型是一种特殊的类型,用于定义一些固定数量的常量值。
使用enum关键字来定义枚举,
每一个枚举都有一个名为index成员变量的Getter方法,该方法将会返回以0为基准索引的位置值
使用枚举类的values方法获取一个包含所有枚举值的列表。
在switch语句中使用枚举,但是需要注意的是必须处理枚举值的每一种情况。
使用关键字static可以声明类变量或类方法
泛型
正确使用泛型可以生成更安全的代码
减少重复代码