Dart语法:基础篇

dart : https://dart.dev/guides

mac安装:

    # 安装
    $ brew tap dart-lang/dart
    $ brew install dart // 安装稳定版
    $ brew install dart --devel // 安装dev版

    # 更新
    $ brew update
    $ brew upgrade dart
    $ brew cleanup dart

    # 查看安装路径等信息
    $ brew info dart

windows:

    cchoco install dart-sdk -version <版本号>

linux系统:

 

    # 安装
    $ sudo apt-get update
    $ sudo apt-get install apt-transport-https
    $ sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
    $ sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
    $ sudo apt-get update
    $ sudo apt-get install dart

 

    # 如果需要dev版,则使用以下指令替换上面的第四步
    $ sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_unstable.list > /etc/apt/sources.list.d/dart_unstable.list'

 

    # 设置环境变量
    $ export PATH=/usr/lib/dart/bin:$PATH

 

语法:

常量定义:
    const:
    final:可以不赋值,惰性初始化,运行时第一次使用前初始化  
    // const time = new DateTime.now();  报错
    // final time = new DateTime.now();
变量:
    var  //  不要和类型一起写,自动推算类型

常用数据类型:
    Numbers(数值):
        int
        double //  浮点类型
    Strings(字符串):
        String
    Booleans(布尔):
        bool: true / false;
    List(数组)
    Maps(字典)

字符串拼接:
    String str1 = 'asd';
    String str2 = 'qwe';
    print("$str1 $str2"); 或+号拼接;

算术运算符:
    print(a+b);   //  加
    print(a-b);   //  减
    print(a*b);   //  乘
    print(a/b);   //  除
    print(a%b);   //  取余
    print(a~/b);  //  取整

关系运算符:
    print(a==b);   //  判断是否相等
    print(a!=b);   //  判断是否不等
    print(a>b);    //  判断是否大于
    print(a<b);    //  判断是否小于
    print(a>=b);   //  判断是否大于等于
    print(a<=b);   //  判断是否小于等于

逻辑运算符:
    !              //  取反
    &&             //  并且
    ||             //  或者

赋值运算符:
    基本运算符:
    =              //  赋值
    ??=            //  b??=23; 表示如果b为空,b=23;

    复合赋值运算符:
    +=  
    -=
    *=
    /=
    %=
    ~/=

三目运算符:
    ?:

??运算符:
   ??              // var a; var b= a ?? 12; a 为空 b = 12


类型转换:
    int.parse('');      //   string转换为int  
    double.parse('');   //   string转换为double
    .toString();      //   转换为string
    .isEmpty          //   string判断为空
    .isNaN            //   num判断为NAN

++ -- : 自增 自减 1 
    赋值运算中: b = a++; b = ++a
        ++ -- 写在前边,先运算再赋值
        ++ -- 写在后边,先赋值再运算;

循环:
    for(){}
    while(){}        //  区别:先判断再执行
    do{}while()      //  区别:先执行再判断
    switch(){}       
    //  continue: 跳过当前循环继续循环; break:跳出循环结束,只能向外跳出一层

List:
    常用属性:
        length:长度;
        reversed:翻转;
        isEmpty:是否为空;
        isNotEmpty:是否不为空;
    常用方法:
        add:增加
        addAll:拼接数组
        indexOf:查找,传入具体值,查找不到返回-1,查找到返回索引
        remove:删除,传入具体值
        removeAt:删除,传入索引值
        fillRange(start,end,value):修改
        insert(index,value):指定位置插入
        insertAll(index,list):指定位置插入list
        .toList():其他类型转为List
        .join('以什么分割'):list转为字符串
        .split('以什么切割'):字符串转为list
        .forEach(){}:循环

new:
    new Set();    //  {}  去重
    new List();   //  []
    new Map();    //  {}

    常用属性:
        keys:获取所有key
        values:获取所有value;
        isEmpty:是否为空;
        isNotEmpty:是否不为空;
    常用方法:
        remove(key):删除指定key的数据;
        addAll({......}):合并映射,增加属性;
        containsValue:查看映射的值,true / false;
        forEach((key,value){});
        map
        where: 满足条件返回
        any:只要集合里的元素有满足条件的返回true
        every:集合里每个元素都满足条件返回true

方法:
    返回类型 方法名称(参数......){
        方法
        return 返回值;
    }

对象操作符:
    ?:  条件运算
    as: 类型转换
    is: 类型判断
    ..: 级联操作

类:
    class 类名{}
        extends 继承
        with 多类继承 类,间隔  //  class a with b,c{}

    修饰符:使用 _ 把一个属性或方法定义为私有,须单独写个文件内部生效  // int _num (double num){ return num };
    get area{} / set area{}: 计算属性

    static void functionName (){}  //  静态方法,不可访问非静态属性及方法
    void functionName (){}         //  非静态方法,可以访问静态属性及方法

    抽象类:定义标准,不能被实例化,只有继承它的子类可以; //  例如接口封装
        abstract class 类名 {};

    abstract class DB{};
    class Api implements DB{};

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The৲One

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值