1 声明变量
变量名 + “_”, 则表示 只能在当前文件内使用
void main(List<String> args) {// 1 明确声明String name = "why";// 2 类型推导// 2.1 final声明常量, 运行期有确定值即可final height = aaa();// 2.2 const声明常量, 编绎期就要有确定值const address = "广州市";// 2.3 var声明变量(常用), 赋值会导致确定类型, 不能再改变其类型var age = 20;// age = "abc"// 2.4 dynamic声明变量, 可改变类型(运行时存在安全隐患)dynamic slogon = "123";print(slogon.runtimeType); // 运行时类型slogon = 1.23;// 2.5 Object声明变量, 可改变类型(xxx as String), 但调用方法时会报错Object xxx = "123";// print(xxx.length); // dart解释器不会推导出Object类型所包含的方法}int aaa() {return 3;}
2 字符串格式化
void main(List<String> args) {var name = "why";var age = 19;var height = 1.88;var message = "my name is ${name}, age is ${age}, height is ${height}";var message2 = "my name is $name, age is $age, height type is ${height.runtimeType}";print(message);print(message2);}
3 集合类型
(1) List
var numbers = [1, 2, 3, 4];// 添加/删除/元素numbers.add(5);// 删除值为1的元素(只删除从左往右数的第一个)numbers.remove(1);// 是否包含某元素print(numbers.contains(2));// List根据index删除元素numbers.removeAt(3);print('$numbers');// 插入numbers.insert(0, 1); // 在索引0处插入1// 插入一个列表numbers.insert(1, [8,9]) // 在索引1处插入8和9,原来索引>=1的元素统统后移// 反转var numbers2 = numbers.reversed.toList();
(2) Set
// 可明确指明类型, Set里的元素不能重复Set<int> numbersSet = {1, 2, 3, 4};numbersSet.add(5);numbersSet.remove(1);print(numbersSet.contains(2));
(3) Map
void main(List<String> args) {var infoMap1 = {'name': 'why', 'age': 18};print(infoMap1['name']); // why// 获取所有的entriesprint('${infoMap1.entries} ${infoMap1.entries.runtimeType}'); // (MapEntry(name: why), MapEntry(age: 18)) MappedIterable<String, MapEntry<String, Object>>// 获取所有的keysprint('${infoMap1.keys} ${infoMap1.keys.runtimeType}'); // (name, age) _CompactIterable<String>// 4.获取所有的valuesprint('${infoMap1.values} ${infoMap1.values.runtimeType}'); // (why, 18) _CompactIterable<Object>// 5.判断是否包含某个key或者valueprint('${infoMap1.containsKey('age')} ${infoMap1.containsValue(18)}'); // true true// 6.根据key删除元素infoMap1.remove('age');print('${infoMap1}'); // {name: why}}
4 枚举类型
main(List<String> args) {print(Colors.red); // Colors.redprint(Colors.red.index); // 0}enum Colors {red,green,blue}
