Dart速通(二)-变量和基本数据类型

949 阅读2分钟

变量声明使用关键字var,如

var name='张三';

在Dart中一切皆为对象,所以如果变量声明时没有值那么,默认即使null

int name
if(name==null)

常量和固定值

  • 如果定义的变量不会变化,可以使用finalconst来指明。const是一个编译时的常量,final的值只能被设定一次,如下:
    final userName='掘金';//定义一个常量
    userName='掘金呀';//会引发一个错误
    
  • 通过对const类型 做四则运算将自动得到一个const类型的值。下面的代码会得到一个常量,计算圆的面积:
    const pi=3.1415926525;
    const area = pi * 100 * 100;
    
  • 可以通过const来创建常量值,也就是说const[]本身是构造函数,如
    final stars = const [] ;
    const buttons = const [] ;
    

基本数据类型

Dart语言常用的基本数据类型包括:NumberStringBooleanListMap

  • Number类型

    Number类型包括如下两类:

    • int整形。取值范围:-2^53到2^53
    • double浮点型。64位长度的浮点型数据,也就是双精度浮点型。

    intdouble类型都是num类型的子类。int类型不能包含小数点num类型包括的操作有:+-*/以及移位操作符>>num类型包括的常用方法有:absceilfloor

  • String类型

    String类型也就是字符串类型,在开发中大量使用。定义例子如下所示:

    var str = 'hello juejin';//单双引号都可以
    

    String类型可以用+操作

    var str1 = 'hi';
    var str2 = 'fultter'
    var str3 = str1 + str2;
    print(str3)
    

    上面的代码打印输出hi flutter。 flutter可以使用三个单引号和三个双引号来定义多行的String类型,在Flutter中我们用来表示大文本块,如下:

    var s1 = ```使用三个
    单引号```
    var s2 = """"使用三个
    双引号
    """"
    
  • Boolean类型 Dart是强检查类型,只有bool类型的值是true才被认为是true。如下面示例代码编译是不能正常通过的,因为'sex'是一个字符串,不能使用条件判断语句,必需使用bool类型才可以:

    var sex='男';
    if (sex) {
        print('你的性别是!'+sex);
    }
    
  • List类型 在Dart语言中,具有一系列相同类型的数据称为List对象。在Dart里的List对象类似于JavaScript语言的Array对象。定义List例子如下:

    var list - [1,2,3];
    

    List对象的第一个元素的索引是0,最后一个元素的索引是list.lenght-1

    var list = [1,2,3,4,5];
    print('length:'+list.length+'\t last:'+list[list.length-1])
    

    上面的代码会输出length:5 last:5

  • Map类型 Map类型,就是键值对,跟java一样Key是必须的。 Map对象定义如下:

    var week = {
        'Monday':'星期一',
        'Tuesday':'星期二',
        'wednesday':'星期三',
        'Thursday':'星期四'
    }
    

    也可以使用Map对象的构造函数Map()来创建Map对象,如下所示:

    var week = new Map();
    week['Mondy'] = '星期一';
    week['Tuesday'] = '星期二';
    week['wednesday'] = '星期三';