Dart-数据类型

var,const,final

var定义一个任意类型的变量,可以赋任何类型的值。

var a = 10;
a = 'hello world!';
a = true;

final定义只能赋一次值的常量。

final a = 10;
a = 2; //出错

final不要求一定要在定义的时候初始化。

final a;
a = 10; //正确

const定义一个常量,必须在定义时初始化,并且之后不能改变它的值。

const a; //错误,没有初始化
const a = 10;
a = 5; //错误

注:const表示编译时常量,即在代码还没有运行时我们就知道它声明变量的值是什么;而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化。

数值型Number

Dart中整形int,浮点型double都是num的子类,num可以存储整数或者浮点类型的数值,而使用int和double明确定义数值类型之后就不能赋值其他类型的数值了。

num a = 10;
a = 10.5; //正确

int b = 5;
b = 5.5; //错误

double c = 5.5;
c = 5; //错误

注:关于数值类型的运算符,Dart与Java有不同的地方为/运算符,在Dart中运算出来的结果会有浮点型数据,而且运算符~/才是取整的除法。

字符串String

可以使用',"定义字符串,同时可以使用三个单引号和三个双引号表示多行字符串。

String a = "hi";
String b = 'hi';
String c = '''hello
                 world''';
String d = """hello
                 world""";

在字符串中可以使用转意字符,使用r可以定义原始字符串。

String a = "hello \n world!" //输出为hello
											world
											
String b = r "hello \n world!"; /输出为hello \n world!

运算符*,+,[],==

  • +:与Java相同。
  • *:表示字符串重复次数。
  • []:取得某一个字符,下标从0开始。
  • ==:判断两个字符串内容是否相同。

插值表达式${},单个字符可以省去大括号。

int a = 1;
int b = 2;
print("a+b=${a + b}"); //输出a+b=3
print("a = $a"); //输出a=1;

布尔型

使用bool声明,值只有true或false。

List

定义List:

List a = new List(); //非固定长度,可以存储任意类型的数据。
List<int> a = new List(); //非固定长度,只能存储int的数据。
List<int> a = new List(3); //固定长度为3,只能存储int的数据。

List采用操作:

  • [] ,length 获取元素,和数组长度
  • add(), insert ()添加元素
  • remove(),clear() 删除元素
  • indexOf (), lastIndexOf () 获取元素中的位置
  • sort (), sublist () 排序和获取子数组
  • shuffle(), asMap(), forEach() 打乱, 转换为Map ,排序

Map

定义Map:

Map map1 = {'aa':'aaa','bb':22,'cc':true};//直接赋初始值
Map map2 = new Map(); //定义一个Map,其key与value都可以为任意值。
Map<int,String> map3 = new Map(); //定义一个Map,key为int,value为String。
Map<String,int> map5 = {"a":1,"b":2};  //定义一个Map,key为String,value为int,且初始化。

常见操作:

  • []:Map[key]取的对应key的值;Map[key] = value如果key存在为修改操作,不存在则为创建操作
  • update() 对指定的key的value做出修改
  • updateAll() 根据参数函数的规则,批量修改map
  • remove() 删除一个key
  • removeWhere() 根据条件批量删除
  • containsKey() 是否包含key
  • containsValue() 是否包含value值
  • forEach() 遍历
  • clear() 清空map
  • addAll() 整体合并另一个map 泛型要一致
  • addEntries() 合并两个map 如果key有重复,被合并的map的value覆盖前者
  • putIfAbsent() 存在key就获取值,不存在则添加到map 然后返回值

Dynamic

dynamic定义的变量可以储存任意类型的值。

dynamic a = 10;
a = "hello";
a = false;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值