Dart中支持以下数据类型

  1. 常用数据类型
    • Number(数字):
      • int
      • double
    • String(字符串):
      • String
    • Boolean(布尔):
      • bool
    • List(数组):
      • 在Dart中数组是列表对象,所以大多数人只是称它们为列表。
    • Map(字典):
      • 通常来说,Map是一个键值对相关的对象。键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次。
  2. 不常用数据类型
    • Runes
      • Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。
    • Symbols
      • Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。

字符串定义的几种方式

void main() {
    // 字符串定义的几种方式
    String str1 = 'Hello Dart';
    String str2 = "Hello Dart";
    String str3 = '''Hello Dart
    你好,Dart''';
    print(str1);
    print(str2);
    print(str3);
    // 字符串拼接
    String str4 = 'Hello' + ' Dart';
    print(str4);
    // 字符串模板
    String str5 = 'Hello Dart';
    String str6 = 'Hello ${str5}';
    print(str6);

}

数字类型

// 数字类型
void main() {
    // 数字类型
    int a = 123;
    double b = 123.456;
    print(a);
    print(b);
    // 数字类型操作
    int c = 123;
    double d = 123.456;
    print(c + d);
    print(c - d);
    print(c * d);
    print(c / d);
    print(c ~/ d); // 除法取整
    print(c % d); // 取余
    // 常用属性
    int e = -100;
    print(e.abs()); // 取绝对值
    double f = 10.5;
    print(f.round()); // 四舍五入
    print(f.floor()); // 向下取整
    print(f.ceil()); // 向上取整
    print(f.toInt()); // 转换成int
    print(e.toDouble()); // 转换成double
}

布尔类型

// 布尔类型
void main() {
    // 布尔类型
    bool flag1 = true;
    bool flag2 = false;
    print(flag1);
    print(flag2);
    // 常用属性
    bool flag3 = true;
    print(flag3.toString()); // 转换成字符串
    // 常用操作
    bool flag4 = true;
    bool flag5 = false;
    print(flag4 && flag5); // 与
    print(flag4 || flag5); // 或
    print(!flag4); // 非
}

List类型

// List类型
void main() {
  // List类型
  // 定义List的方式
    var l1 = ['aaa', 'bbb', 'ccc']; 
    print(l1);
    print(l1.length);
    print(l1[1]);
    //List 指定类型
    var l2 = <String>['aaa', 'bbb', 'ccc'];
    print(l2);
    print(l2.length);
    print(l2[1]);
    // List常用操作
    var l3 = ['aaa', 'bbb', 'ccc'];
    l3.add('ddd');
    print(l3);
    l3.insert(1, 'eee');
    print(l3);
    l3.remove('aaa');
    print(l3);
    print(l3.indexOf('bbb'));
    print(l3.indexOf('ddd'));
    print(l3.indexOf('aaa'));
    print(l3.indexOf('eee'));
    print(l3.indexOf('eee') > -1);
    print(l3.contains('eee'));
    print(l3.contains('aaa'));


}

Map类型

// Map类型
void main() {
  // Map类型
  // 定义Map的方式
    var p1 = {
        'name': '张三',
        'age': 20,
        'work': ['程序员', '送外卖']
    };
    print(p1);
    print(p1['name']);
    print(p1['age']);
    print(p1['work']);
    print(p1['work'][1]);
    // 第二种定义方式
    var p2 = new Map();
    p2['name'] = '李四';
    p2['age'] = 30;
    p2['work'] = ['程序员', '送外卖'];
    print(p2);
    print(p2['name']);
    print(p2['age']);
    print(p2['work']);
    print(p2['work'][1]);
    // Map常用操作
    var p3 = {
        'name': '张三',
        'age': 20,
        'work': ['程序员', '送外卖']
    };
    p3['name'] = '李四';
    print(p3);
    p3.remove('age');
    print(p3);
    print(p3.keys);
    print(p3.values);
    print(p3.containsKey('name'));
    print(p3.containsValue('李四'));
    print(p3.isEmpty);
    print(p3.isNotEmpty);

}

results matching ""

    No results matching ""