1.dart语言基础
数据类型
Dart
复制代码
//flutte
num a = 10;
double b = 10.0;
int x = 10;
num c = 10.0;
//字符串拼接方式。和kotlin的是一样的。 也可以和java中一样做拼接。
String testString = "aaaaaaaaaaaaaaaaaaaaaaaaaaaa";
String bbbbb = "aaaaaaaaaaaaaaccccc";
String cc = "$testString$bbbbb";
String bb = testString + bbbbb;
print(cc);
print(bb);
//bool类型。和java有区别,关键字不一样,java 和kotlin中是boolean在dart中是bool
bool isOpen = false;
bool isSwitch = true;
//bool 值之前的计算方式和其他语言的方法一样。
bool isOk = isOpen || isSwitch;
bool isNotOk = isOpen && isSwitch;
//集合定义
List list = [a, 3.0, 10];
Map map = {"10": 10};
for (var value in list) {
print(value);
}
for( int i = 0 ; i< list.length; i++){
print(list[i]);
}
map.forEach((key, value) {
print("$key$value");
});
//obj 是可以改变类型的。
Object obj = "1000";
obj = 10.0;
//动态数据类型。
dynamic d = "dynamicString";
print(d.runtimeType); // 可以判断运行时的类型。String
d = 1.0;
print(d.runtimeType); // 可以判断运行时的类型。 int
类和构造函数。
Dart
复制代码
class Obj {
String name;
String age;
Obj(this.name, this.age);
@override
String toString() {
return "$name$age";
}
}
class UserObj extends Obj {
//在dart中。私有属性。或者私有类,需要在变量名字前面添加下划线表示。
//默认是public 共有属性或者共有类。
int _private;
//在dart中。可空对象使用?表示, 如下 String? 表示school是一个可空对象。
String? userName;
String city;
String address;
// {this.school} 是可选参数, 可选参数必须在构造函数参数列表中最后一个
// 默认参数 : 可选参数中如果用户不初始化该可选参数 , 那么为其指定一个默认值
// {this.city = "北京"} 指定了如果用户不初始化 city 变量, 那么为其初始化 "北京" 字符串值
// 初始化列表 : 冒号后面的内容就是初始化列表
// 父类构造器也是初始化列表
// 除了父类构造方法之外 , 还可以在子类构造方法体之前初始化示例变量
// 不同的初始化实例变量之间使用逗号隔开
//父类构造方法 : 如果父类没有默认构造方法 (无参构造方法) ,
// 必须在初始化列表中调用父类构造函数 , super(name, age) ;
// 构造方法方法体 : 可以省略 ;
UserObj(this._private, String name, String age, {this.userName, this.city = '北京'}):address = "nc",super(name, age);
}
3. 泛型