dart-dart基础
1.安装dart sdk
https://dart.dev/get-dart
终端输入dart –version 测试是否安装成功
2.配置vscode支持dart语法提示:
1.安装插件dart
2.安装插件code runner 可以运行文件
3.vscode运行dart文件中文乱码:
1.在settings.json添加:”code-runner.runInTerminal”: true,
2.重启vscode
4.入口方法
main(){};
void main(){};//没有返回值
5.注释
//注释
///注释
/注释/
6.声明变量:
1.通过var声明: var str = “aaa”; //dart强类型校验,可以不预先声明变量类型,自行判断类型
2.通过类型声明 String str = “aaa”
变量命名规则:
1.必须由数字/字母/下划线和$组成
2.不能以数字开头
3.不能是保留字和关键字
4.区分大小写
7.常量: const 和 final
1.const 和finnal 赋值都不可以修改
2.区别: final可以开始不赋值,只能赋值一次,final不仅有const的编译时常量的特性,最重要的是它是编译时赋值
例如:
final date = new DateTime.now(); //正常 编译时赋值,只能赋值一次
const date = new DateTime.now(); //报错 定义时赋值
8.dart 数据类型:
常用数据类型:
Numbers(数值):int double
Strings(字符串): String
Booleans(布尔值): bool
List(数组): 列表对象
Maps(字典): Map是一个键值对相关的对象
1.字符串
1 | String str = "falds" |
2.数值类型:
1 | int a = 12; //只可以是整型 |
3.布尔类型:
1 | bool flag = true/false ; //布尔类型的值只能是true/false |
4.数组类型
1 | var arr1 = ['a','b','c'] |
3.指定数组元素类型
1 | var arr3 = new List<String>(); |
5.Maps
1 | var person = { |
访问: person[“name”]
1 | var p = new Map(); |
6.is关键词判断数据类型:
1 | var str = 'ad'; |
9.运算符
算术运算符
- +
- -
- *
- /
- % 取余
- ~/ 取整
关系运算符:
- ==
- !=
- <
>
- <=
>=
逻辑运算符:
!
&&
||赋值运算符:
=
??=
// int b; b??=23 如果b等于空的话,把23赋值给b复合赋值运算符:
+=
-=
*-
/=
~/=条件表达式:
if… else
if… else if
swtich… case三目运算符 ? :
??运算符 b= a ?? 10 //a不为空时b等于a,a为空时b等于10b=a++ 赋值运算中: ++写在后面 先赋值后运算 ++a 写在前面先运算后赋值
10.类型转换:
- int.parse
- double.parge
- toString
- str.isEmpty
- num.isNaN
11.List属性:
- length
- isEmpty
- isNotEmpty
- reversed 翻转列表 [1,2,3].reversed //(3,2,1) [1,2,3].reversed.toList() //[3,2,1]
12.List方法:
- add 数组添加 add(1)
- addAll([1,2]) //拼接数组
- indexOf 返回索引值
- remove 移除值,参数为值
- removeAt 参数为索引值
- fillRange int start,int end,修改后的值
- insert(int index,value)指定位置插入值
- insertAll(index,interable) insertAll(1,[1,2])
- join(分割符) 以分隔符拼接转换成字符串
- split(分隔符) 将string以分隔符切割成数组
- toList() 将其他类型对象转换为数组
13.Set主要功能是数组去重
set是不能重复且没有顺序的对象
14.Maps 映射
- key var person={“a”:1,”b”:2} person.keys.toList()
- value
- isEmpty
- isNotEmpty
- addAll() 添加多个
- remove(key)
- containsValue(value) 是否存在某个值
15.循环:
1 | forEach |