2、Dart数据类型

183 阅读2分钟

常用数据类型:

Strings(字符串):String

Numbers(数值):int、double

Booleans(布尔):bool

List(数组):在Dart中,数组是列表对象,所以大多数人只是称它们为列表

Maps(字典):通常来说,Map 是一个键值对相关的对象。键和值可以是任何类型的对象。每个键只出现一次,而一个值则可以出现多次。

不常用数据类型:

Runes :Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。

Symbols :Symbol对象表示在Dart程序中声明的运算符或标识符。

一、Strings(字符串)类型

1.字符串几种声明方法

void main() {
  var str1 = 'Hello';
  String str2 = 'Dart';
  //使用三对单引号或者双引号,可以写多行内容,类似模板字符串
  var str3 = '''
    Hello
         Dart
    ''';
  String str4 = '''
    Hello
         Dart
    ''';
  print(str1);
  print(str2);
  print(str3);
  print(str4);
}

image.png

2.字符串拼接

字符串拼接有两种方式,如下

//方法一:使用+号拼接
  print(str1 + ' ' + str2);
//方法二:使用$拼接
  print('$str1 $str2');

image.png

二、Numbers(数值)类型

1.int (整型)

main() {
  //1、int   必须是整型
  int num1 = 18;
  num1 = 28;
  print(num1);
}

注:这里使用void main()会报错,int只能是整数,不能有小数点。

image.png

2.double (浮点型)

double num2 = 18.88;
num2 = 28; //double赋值既可以是整型 也可是浮点型
print(num2);

注:如果给double类型赋值整型,会自动转化为浮点型 image.png

3.运算符

JavaScript相似,基本运算符+、-、*、/,加减乘除

三、Booleans(布尔) 类型

bool 值true/false,布尔类型赋值只能是true/false。

四、List(数组)类型

1.List几种声明方法

main() {
  //1.不指定类型,长度不固定,可改变长度,可添加值
  var list1 = ['1', 2, 3.0, false];
  //2.通过<>指定类型,长度不固定,可改变长度,可添加值
  var list2 = <int>[1, 2, 3, 4];
  //3.List.filled()声明,声明list长度固定,不可改变长度,也不能向数组添加新值
  var list3 = List.filled(2, ""); //第一个值表示数组长度
  //var list3 = List<String>.filled(2, "");//<String>指定类型
  //4.通过下标修改值
  list3[0] = 'hello';
  list3[1] = 'Dart';
  //5.通过add向[]声明数组添加新值
  list1.add('hello');
  print(list1);
  print(list2);
  print(list3);
}

image.png

五、Maps(字典)类型

其实与JavaScriptjson有些相似之处,Maps有两种定义方法,如下:

main() {
  //方法1
  var m1 = {'name': 'Dart', 'age': 18, 'more': false};
  print(m1);
  print(m1['name']);//取值
  //方法2
  var m2 = new Map();
  m2['name'] = 'Dart';//赋值
  m2['age'] = 19;
  m2['more'] = true;
  print(m2);
}

image.png

六、类型判断

通过关键字is来判断类型。如下:

main() {
  var name = 'Dart';
  if (name is String) {
    print('String类型');
  } else {
    print('不是String类型');
  }
}

image.png