dart 数据类型和一般方法

var赋值后变量类型就确定,不能赋值成其他类型
Object类型可以赋值任意类型,只能调用自身设置的方法、属性
dynamic动态类型,和Object类似,不同之处在于可以调用不属于自己的方法、属性,但运行时才会报错
final声明常量,不能再赋值,在使用时才会初始化
const声明常量,不能再赋值,在编译时已经存在
int      数值变量.clamp(最小值,最大值);   当数值大于最大值或小于最小值,会取设定的边界值
double
bool
String  使用+来字符串拼接,但只能拼接字符串,不能拼接其他类型
List数组 支持forEach((item,index){})
	(1)=new List<String>()/new List<String>()
	(2)=[1,2,3]
	(3)..进行连续操作,如:list..add(x)..add(x)..add(x);  ..操作符会返回自身
	
Map类型 和js对象类型相同,但键必须用引号包裹
	(1)={"x":xx,"xxx":xxxx}
	(2)var x=new Map();   x['xx']=xxx

Set类型  元素不重复,非数组,不能通过索引取值
   (1)Set s={x,x,x};
   (2)var x=new Set();   x.add(xx);
   (3)利用Set去重
   		var x=new Set();
   		x.addAll(数组); 再通过toList()转换成数组

判断数据类型:
 ==会先判断类型,不同false
 x  is 数据类型;  来判断
 if( str is String){...}

方法:
类型.parse(值); 非字符串类型的转换方法
数值.toString(); 转换成字符串类型
数值.toStringAsFixed(n);  转换成字符串类型且保留指定小数点位数,会四舍五入

List数组:
	属性
	.length
	.reversed   翻转成"(x,x,x)"形式的字符串,后接toList()可转换成数组
	.isEmpty     是否为空
	.first/.last 获取首/尾元素
	
	方法
	.add(x)往数组末尾添加元素
	.addAll([x,x]) 往数组末尾添加数组
	.indexOf(值)  查找元素索引
	.remove(值)
	.removeAt(索引)
	.fillRange(开始索引,结束索引,修改值);  区间为[ ),将范围内的元素修改成指定值
	.insert(index,value)
	.insert(index,List)  指定位置插入数组
	.toList()   其他类型转换成数组
	.join('x'); 按格式拼接成字符串
	.splite('x') 分割成数组
	.where((x){return ...});  过滤器,参数x是数组的每一个内容,返回判断条件为真的x,返回形式为(x,xx); 可通过toList()转换成字符串

Map对象:
	属性:
	.keys   返回"(x,x,..)" 形式的所有键
	.values  返回"(x,x,..)" 形式的所有值
	.isEmpty
	
	方法:
	.remove(key)
	.addAll({'x':xx,...})  合并两个对象
	.containsKey(x)
    .containsValue(x)

代码示例:

void main() {
  //var赋值后变量类型就确定,不能赋值成其他类型
  var str='好帅';
  //Object类型可以赋值任意类型,只能调用自身设置的方法、属性
  Object obj=123;
  obj='123';

  //dynamic动态类型,和Object类似,不同之处在于可以调用不属于自己的方法、属性,运行时才会报错
  dynamic d='123';

  //final声明常量,不能再赋值,在使用时才会初始化
  final f='good';

  //const声明常量,不能再赋值,在编译时已经存在
  const c='good';


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值