Dart语言基础

Posted shangjun6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart语言基础相关的知识,希望对你有一定的参考价值。

  dart 语言是一款谷歌出的语言,代码风格更像是融合了 java 及 javascript,所以学习的难度并不是很大;

  且又是 flutter 框架中的语言,所以还是有学习的必要

  dart 安装:打开 dart 官网

    技术图片

 

     技术图片

 

   我们按照安装步骤下载完了,然后我们检测是否下载成功;在终端输入命令:dart --version

  如果出了版本号就证明我们下载成功了

  如果我们想在使用 dart 语言的话,建议使用 vsCode 的编辑器,下载插件 dart  code runner 

  dart 文件,是以 dart 结尾的文件

  1. 简单的输入语法,通过 main 来暴露,通过 print 来打印输出

  main(){ print(‘hello dart‘) };      // 有返回值的写法

  2. 所有的语句后面都要加分号,否则就会报错

  void main(){ print(‘hello dart‘) };   //  没有返回值的写法

  3. 注释的方法

  //   ///   /**/

  4. 声明变量的方式(从这里就体现出了dart语言的强大,可以采用 java 的强类型语言,也可以采用 JavaScript 的弱类型语言)

  弱类型语言的命名方式:var a = ‘hello dart‘  // 那么 a 的类型就是字符串

  强类型语言的命名方式:String a = ‘hello dart‘  // a 的类型必须是字符串

  print()  拥有打印的功能,可以进行多次打印输出

  5. 数字类型解析

  num a = 12;  //  数字定义,整形,小数型都可以

  int a = 12;   // 整形数字的定义

  double a = 12.33  // 必须是小数型

  6. dart 的命名规则

    1)变量名称可以由数字,字母,下划线和美元符($)组成

    2)注意:标识符开头不能是数字

    3)标识符不能是保留字和关键字

    4)变量的名字是区分大小写的如:age 和 Age 是不同的变量,在实际开发中尽量不要出现这种情况,尽管没有错

    5)标识符(变量名称)一定要见名思意:变量名建议用名词,方法名建议用动词

  7. 常量:永远不会改变的量

    关键词:final 或者 const 

    他们量都是,如果对变量进行在次赋值就会报错,final 还可以定义方法

  8. 字符串的拼接

    String str = ‘你好‘;

    String val = ‘dart‘;

    print(‘${str} ${val}‘);  // 细心的朋友已经发现了,我中间有个空格,这个空格会被保留的哦

    // 其实也可以不带 {} ,但是并不适用所有的场景,带上{}就可以避免很多问题

  9. 布尔值的定义

    bool a = true / false  // 布尔值只能是 true 或者 false

  10. 运算符

    +  -  *  /  %    // 与 js 一致

  11. 条件运算

    if(){}  if(){}else if(){}  switch(){ case: 内容; break; }  // 与 js 一致

  12. 定义数组

    弱类型语言的定义方式

      var arr = [‘aaa‘,‘bbb‘,‘ccc‘];

      print(arr);

      print(arr.length);

      print(arr[1])  // 通过下标来拿到具体的值

    强类型语言的定义方式

      List arr<String> = [‘aaa‘,‘bbb‘,‘ccc‘];  // List 定义数组,<> 里面对应数组的数据类型

     数组的方法:

      add();  // 在数组的结尾处添加元素

      addAll();  // 连接多个数组

      toList();    // 将其他类型转换成集合类型

      indexOf();  // 查看数组中是否包含某个元素

      remove();  // 删除具体的某个元素,在原有的 list 中进行更改

      removeAt();  // 删除具体元素通过索引,在原有的 list 中进行更改

      fillRange(start,end,value);  // 修改,开始下标,结束下标,要更改的值

      insert(1,value);  // 通过索引添加数据

      insertAll(1,[‘a‘,‘b‘]);  // 通过索引插入多条数据

      join(",");  // 以逗号分割,将数组转成字符串

    数组的属性

      length;  // 数组的长度

      isEmpty;  // 判断是否为空

      isNotEmpty;  // 判断不为空

      reserved;  // 翻转 

  13. 定义对象的方式

    var obj = {

      "name":"zhang"

    };  // 弱类型语言

    Map obj = {

      "name":"zhang"

    };  // 强类型语言

    取值方式:print(obj[‘name‘]);  // 只能采用这种方法

    对象的属性:

      keys;  // 属性

      values;  // 值

      isEmpty;  // 是否为空

      isNotEmpty;  // 是否不为空

    对象的方法

      addAll()  // 连接多个对象

      remove()  // 取消值,字符串

  14. 类型判断  通过 is 关键字来判断

    var str = ‘hello dart‘;

    print(str is String)  // 返回值 true 是,返回值 false,代表不是

  15. 关系运算符

    ==   !=   >   <   >=   <=

  16. 逻辑运算发

    !   &&   ||

  17. 赋值运算符 +=  -=  *=  /=  ??=

    将一下 ??= 

    var b;

    b??=3;  // 如果 b 为空的话,将 3 附给 b

         // 如果 b 不为空的话,将值赋给 b

  18. 类型转换

    将字符串转换成数字

      String str = ‘123‘;

      var myNum = double.parse(str);  建议不要使用 int 

    将数字换成字符串

      var Num = 12;

      var str = Num.toString();

  19. 错误抛出

    如果由错误,通过 try catch 来抛出错误

  20. 判断是否为空

    判断字符串是否为空  str.isEmpty  

    判断数字是不是空   var Num == null;

    注意一个事项:print(0/0)  // 得到的结果为 isNaN

  21. a++  ++a 的区别

    a++   // 将 a 赋值给b,然后a在进行自加运算

    ++a  // 先进行 ++ 运算,再将 a 赋值给 b

  22. 循环数据

    List arr = [1,2,3,4,5,6,7];

    forEach 的使用 遍历

    arr.forEach((item)=>{

      print(item);

    })

    map 的使用,遍历加工

    arr.map((value)=>{

      return value * 2;

    })

    where 满足条件的使用

    arr.where((value)=>{

      return value > 5;

    })  

    any 集合里面有满足条件的就返回 true

    every 每一个都满足条件,返回 true,否则返回 false

  23. 方法的使用:

    在 main(){} 外定义的方法就是全局的方法

    方法的可选参数

      function fn (String name , [int age]){

        print(‘${name} ---- ${age}‘)

      } 

      fn(‘zhang‘,10);

    方法的命名参数

      function fn (String name, {int age, String sex = ‘男‘}){

        print(‘${name} ---- ${age} ++++ ${sex}‘)

      }

      fn(‘zhang‘,age:20);

  24. 类的定义,对象的三大特点:封装,继承,多态,三个修饰符:public,private,protected

    通过 class 定义类

    class Person = {

      Person(){

        print(‘构造函数‘)

      }

      String name = ‘zhangsan‘;

      int age = 20;

      run(){

        print(‘${name} ----- ${age}‘);

      };

    .}

    

以上是关于Dart语言基础的主要内容,如果未能解决你的问题,请参考以下文章

Dart 语言基础入门 Dart 语言核心库一览

Dart语言基础

同时搞定Android和iOS的Dart语言:Dart初探

『Flutter开发实战』十分钟入门Dart语言

Dart编程语言从基础到进阶1

Dart语言概览