美文网首页flutter
Dart语言中的基本类型

Dart语言中的基本类型

作者: 习惯了_就好 | 来源:发表于2018-11-20 17:32 被阅读7次

Dart 里所有东西都是对象,所有这些对象的父类都是Object。
var、Object、dynamic都可以指定任意类型数据。
三者的区别为

//var只是一种语法,类似JavaScript,赋值的时候确定了具体的类型
      var obj1;
      obj1 = 123;
      obj1 = "123";

      //所有的类的父类都是Object,所以Object可以表示任意类型的变量
      //Object是在运行时候确定实际类型的
      Object obj2;
      obj2 = "123";
      obj2 = -123;
//      obj2 ++;// 编译直接报错

      //as 关键字 可以强制转换
      print((obj2 as int).abs());

      //dynamic是在运行时确定实际类型的
      dynamic obj3 = "123";
      //is关键字可以进行运行时检测
      if (obj3 is int) {
        obj3 ++; //运行时才报错,可以添加检测
      }

基本类型: Number(int,double)、String、boolean、List (also known as arrays)、Map、 Number包括:int 类型和double 类型

int整型是不超过64位,不同的平台位数不一样。如果是DartVM, 整型的范围是263-1到-263。如果需要编译成js代码,那么整型的范围就是253-1到-253。

浮点型是64位的数字,包括小数位数,并符合IEEE754标准。一个数字只要有小数点,就是double类型。

int a = 1;

int b = 10;

int c = 0xDEADBEEF;

double d = 1.0;

// double e = 1;// 运行时报错 Try changing the type of the left hand side, or casting the right hand side to 'dart.core::double'

double f = 10.0;

数据运算:+、 - 、* 、/ 、 ~/ 、 % (/除法,不会去取整 ; ~/取整;%取余)

print("a:$a b:$b c:$c d:$d f:$f ");

print("a + b=${a + b} ,a + d=${a + d}");

print("a - b=${a - b} ,a - d=${a - d}");

print("a * b=${a * b} ,a * d=${a * d}");

print("a / b=${a / b} ,a / d=${a / d}");

print("a ~/ b=${a ~/ b} ,a ~/ d=${a ~/ d}");

print("a % b=${a % b} ,a % d=${a % d}");

属性值:isNaN(是否是NaN)、isEven(是否是偶数)、isOdd(是否是奇数)、isFinite(是否是有限数)、isInfinite(是否是无限的)、isNegative(是否是负数)

print("1是NaN吗?${a.isNaN},1是奇数吗?${a.isOdd},1是偶数吗?${a.isEven},1是有限数吗?${a

.isFinite},1是无限数吗?${a.isInfinite},1是负数吗?${a.isNegative}");

Number转字符串toString()

var age = 18;

print("${age .toString()}");

字符串转Number,parse()

String age = "12";

print("${int.parse(age)}");

字符串

//可以使用 单引号 和 双引号声明字符串

var name = "zhangsan";

var clazz = 'one';

//单、双引号可以互相嵌套,转义不转义效果一样

var str1 = "abcd'efg'";

print(str1);

var str4 = "abcd\'efg\'";

print(str4);

var str2 = 'abcd"efg"';

print(str2);

var str3 = 'abcd\"efg\"';

print(str3);

${表达式}的使用

String age = "12";

print("年龄是:${int.parse(age)}");

布尔值

var m;

print("var m 是null吗${m == null}");

m = 1 / 0;

print("1 / 0是NaN吗?${m.isNaN}");

m = 0 / 0;

print("0 / 0是NaN吗?${m.isNaN}");

m = 0 / 0;

print("0 / 1是NaN吗?${m.isNaN}");

m = "";

print("''是空吗?${m.isEmpty}");

m = " ";

print("' '是空串吗?${m.isEmpty}");

List

var list = List<int>();

list.add(1);

list.add(2);

print("list的长度:${list.length}");

var list1 = new List<int>();

var list2 = [1, 2];

var list3 = <int>[];

var list4 = const[1, 2]; // list4 指向的是一个常量,我们不能给它添加元素(不能修改它)

// list4 本身不是一个常量,所以它可以指向另一个对象

list4 = [4, 5, 6];

const list5 = [1, 2]; //等价于 var list4 = const[1, 2];

var list6 = [1, 2, 3, 4, 5, 6];

for (var i in list6) {

print(i);

}

Map

var map = Map<String, int>();

map["abc"] = 1;

map["cde"] = 2;

map["fgh"] = 3;

print("cde对应的值:${map["cde"]}");

map["cde"] = 4;

print("修改后cde对应的值:${map["cde"]}");

if (map["mn"] == null) {

print("key不存在");

}

print("map的长度:${map.length}");

// 判断是否为空

print(map.isEmpty); // 输出结果:false

print(map.isNotEmpty); // 输出结果:true

// 获取到所有的 key

print(map.keys);

// 获取到所有的 values

print(map.values);

// 判断是否包含某个key

print(map.containsKey("cde"));

// 判断是否包含某个value

print(map.containsValue(5));

var map2 = const{

"num": 123,

"name": "xiaoming"

};

var map3 = <String, String>{};

map3["aaa"] = "lisi";

map3["abc"] = "zhangsan";

if (map3 is Map<String, String>) {

map3["bbb"] = "wangwu";

}

for (var key in map3.keys) {

print("$key--${map3[key]}");

}

练习demo,链接https://gitee.com/xgljh/Flutter

相关文章

  • 三. Dart语法学习2

    Dart基本类型常用Api介绍 布尔类型 Dart中布尔类型很简单。如C语言中用bool声明,对应true & f...

  • Dart语言中的基本类型

    Dart 里所有东西都是对象,所有这些对象的父类都是Object。var、Object、dynamic都可以指定任...

  • Dart基础语法

    Dart基础语法 基本数据类型 Dart 属于强类型语言(在Dart2.0之前,Dart是一门弱类型语言。2.0以...

  • Dart built in types(Dart内置/基本类型)

    Dart built in types(Dart内置/基本类型) 未完待续。。。

  • dart系列之:dart语言中的内置类型

    简介 和所有的编程语言一样,dart有他内置的语言类型,这些内置类型都继承自Object,当然这些内置类型是dar...

  • Dart - 类型定义

    在 Dart 语言中,函数与 String 和 Number 一样都是对象,可以使用 类型定义(或者叫 方法类型别...

  • 【Flutter】Dart基本语法

    Dart编程语言——基本概念及变量类型Dart编程语言——方法Dart编程语言——操作符、流程控制和异常Dart编...

  • Flutter -- Dart基础语法

    前言   dart语言中数据类型都是结构体格式,num类型是一个结构体,int类型是结构体,double也是结构体...

  • go学习笔记(二)——基本数据类型

    数据类型 1.基本类型 go语言中的基本类型如上图所示,go语言中有五类基数类型。 1) boolean型 同其他...

  • Dart 语言之“内置类型”

    1、数值类型:num 在java中的八大基本数据类型,dart 中都可以用数值类型来表示,dart中数值类型只有两...

网友评论

    本文标题:Dart语言中的基本类型

    本文链接:https://www.haomeiwen.com/subject/lgvxqqtx.html