入口文件
void main () {
print('hello dart');
}
main () {
print('hello dart');
}
- 在dart中一切变量全是对象,每个对象都是类的实例。所有的对象都继承自object类
数据类型
- 字符串数据类型
- String: 字符类型同ts中的string类型
- 数值数据类型
- int: 整数类型同ts中的number类型
- double: 小数,浮点型同ts中的number类型
- 布尔类型
- List 数组
- List = ['内容1','内容2','内容3']: 设置数组内的内容都是string类型同ts中的Array
- List = [1,2,3]: 设置数组内的内容都是int类型同ts中的Array
- List = [1.2,2,3.3]: 设置数组内的内容都是double类型同ts中的Array
- 数组中的filled用法可以创建一个无法修改的固定长度的集合
- filled有两个参数, 参数1: 数组长度, 参数2: 数组内容
- Map字典
- Map字典同ts中的对象类型
- 获取内容: obj['key']
声明变量
- 既可以通过var声明,也可以通过const或final常量进行声明
- var可以定义一个变量, 并随时可以更改值同js中的var
- 相比与js而言dart中没有了let却多出了个final来定义变量
- 注意定义变量后没有进行赋值会返回null
- dart中的常量
- const: 与js中的一样, 定义一个常量且在定义时赋值,
- final: 定义一个常量, 开始时可以不赋值, 但是只能赋值一次
- 在dart中如果确定了变量类型也可以用 String 变量名, int 变量名等定义变量
- 需要注意的是Dart 语言是强类型语言,我们无法将一个已声明具体类型的变量赋值给另一个类型
- 关于变量声明和数据类型的参考代码如下
final timer = new DateTime.now();
print(timer);
void main () {
String str = '''33
333''';
String str1 = 'hellow';
String str2 = 'dart';
String str3 = '$str1 $str2';
int num1 = 122;
double num2 = 12.22;
bool flag1 = true;
bool flag2 = false;
if(flag1) {
print('真');
}
if(!flag2) {
print('假');
}
var list1 = [1,'few',true];
print(list1.length);
print(list1[2]);
var list2 = <String>['232','33'];
var list3 = <int>[];
list3.add(33);
var list4 = List.filled(2, '');
var list5 = List<int>.filled(2,3);
print(list4);
print(list5);
list4[0] = '1';
var obj = {
"name": 'lyx',
"age": 25,
"work": ['程序员', '日语']
};
print(obj['name']);
print(obj['work']);
var obj2 = new Map();
obj2['name']='写代码的';
print(obj2);
- dart中的三引号类似ts总的反引号可以写入多行的内容
- 字符串拼接可以通过 '变量名1变量名2' 进行拼接
数据运算符
类型转换
- number 转 string: toString()
- string 转 number: type.parse()
- 检测是否是空字符: str.isEmpty()
- 判断数据是否是nan: 变量.isNaN
void main() {
String str1= '12.0';
String str2= '12';
num num1 = double.parse(str1);
num num2 = double.parse(str2);
print(num1 is num);
print(num2);
String str3 = '345geg';
try {
num num3 = double.parse(str3);
print(num3 is num);
} catch(err) {
print('错误抛出');
}
num number1 = 12;
String ntos = number1.toString();
print(ntos is String);
String nullStr = '';
if(nullStr.isEmpty) {
print('空字符');
} else {
print('非空字符');
}
}