0%

Dart学习笔记 (一)

古今中外有学问的人,有成就的人,总是十分注意积累的。知识就是机积累起来的,经验也是积累起来的。我们对什么事情都不应该像“过眼云烟”

邓拓

入口 , 变量 , 常量 , 常用数据类型 , 字符串的拼接 , 布尔类型

Dart语言

Dart

Dart是一种面向对象的语言,Dart的所有东西都是对象,所有的对象都继承自object类。Dart是一门使用类和单继承的面向对象语言,所有对象都是类的实例。并且所有的类都是object的子类。Dart与其他的面向对象语言不一样,Dart中没有public,private,protected这些访问修饰符号,但我们可以使用_下划线把一个属性或者方法定义为私有。

  • 面向对象编程(oop)的三个基本特征是:

    封装: 系统具有相同数据结构与行为的所有对象可组成一类;

    继承: 在基本层次关系的不同类中共享数据和操作。

    多态:(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数实现的。 Dart中的例子

  • 入口方法main

1
2
3
void main(){              //没有返回值的入口方法       

};
1
2
3
main(){                  //入口方法

};
  • 打印方法

    1
    print('你好Hexo');    //输出:你好Hexo

    变量

  • 变量必须由数字,字母,下划线美元符号组成

  • 标识符不能由数字开头 如错误示例:

    1
    var 123str=123;      //错误示例
  • 标识符不能是保留字 ,关键字 如错误示例:

    1
    var int=123;        //错误示例
  • 变量的名字是区分大小写的 如:ageAge应为两个不同的变量。在实际的运用中,也建议不要使用同一个。

    1
    2
    var age=10;         //这是两个不同的变量
    var Age=20;
  • 标识符一定要见名思意,变量名称建议用名词,方法名称用动词。

  • Var会自动判断变量类型,不能和String int一起使用。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //数字类型不用带'引号',字符串类型须带上'引号',"双引号"和'单引号'效果一样,Dart有类型效验。
    var str='你好';
    print(str); //自动变量 打印出:你好
    var num=123;
    print(num); //自动变量 打印出:123
    ----------------------------------------
    String str='你好';
    print(str); //字符串类型 打印出:你好
    int num=123;
    print(num); //数字类型 打印出:123

常量

  • 常量是不改变的量

  • 变量可以修改,常量不可以修改

  • constfinal都是常量,但final更强大,const值不变一开始就要赋值;final可以开始不赋值,只能赋值一次,而且final不仅有const的编译时常量的特性,最重要的是它是运行时常量,惰性初始化,即在运行时第一次使用前才初始化 例如:

    1
    2
    const a=3.1415926;            //编译时常量
    print(a); //打印出:3.1415926
    1
    2
    final a=new DateTime.now();   //运行时常量
    print(a); //打印出:2019.9.17. 14:37:54:722292

常用数据类型

  • Number(数值):

    int:整数 整型 , double:小数 浮点型

  • String(字符串):

    String:字符串

  • Booleans(布尔):

    bool:true对 , false

  • List(数组):

    list:数组,在Dart中,数组是列表对象,所以大多数人称为列表

  • Map(字典):

    map:字典

  • 运算符中一旦有用double的数据,结果也会变成浮点型 如:

    1
    2
    3
    int a=1;
    double b=2;
    print(a+b); //输出:3.0

字符串的拼接

  • 三对’’’引号’’’可写多层代码 如:

    1
    2
    3
    4
    5
    6
    7
    String str='''123
    456
    789''';
    print(str);
    输出:123
    456
    789
  • 字符串的拼接 如:

1
2
3
4
5
6
7
8
1:
String str1='你好';
String str2='Dart';
print('$str1$str2'); //输出:你好Dart
print('$str1 $str2'); //输出:你好 Dart
print(str1+str2); //输出:你好Dart
print(str1 + str2); //输出:你好Dart
print(str1+' '+str2); //输出:你好 Dart

布尔类型

  • 布尔类型是条件判断语句

    使用if…else和true , false做判断:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    1:
    var dan=false; //定义dan为false
    if(dan){ //如果dan为true
    print('真');
    }else{ //否则
    print('假');
    } //输出:假
    2:
    int a=12;
    double b=13;
    if(a==b){ //假如a=b
    print('a=b');
    }else{
    print('a!=b');
    } //输出:a!=b (a不等于b)
-------------本文有底学海无涯-------------