dart教程 - CSDN
精华内容
参与话题
  • Dart编程语言.pdf(高清版)。 本书共9章,前6章是基础,后3章是进阶进行了深入的讲解,本书内容较为深入,不适合初学者,最好接触过其他编程语言。
  • dart 入门教程pdf

    2020-07-29 14:20:06
    dart入门教程pdf!
  • Dart 基础教程(一)

    千次阅读 2018-12-07 19:55:45
    dart 基础笔记 dart基础 void main(){ print('li'); var a = 1;//可以多次赋予 print(a); final b = -2;//变量只能赋值一次 print(b); const c = 3;//常量也不能修改 int d = 4;//整型 print(d.isEven);...

    dart 基础笔记

    dart基础

    void main(){
      print('li');
      var a = 1;//可以多次赋予
      print(a);
      final b = -2;//变量只能赋值一次
      print(b);
      const c = 3;//常量也不能修改
    
      int d = 4;//整型
      print(d.isEven);// 是否偶数 返回true
      print(d.isOdd);// 是否奇数 返回false
      print(b.abs());//取绝对值
    
      double e = 5.6;//浮点型 ~/这个是取整 %取余数
      print(e.round());//四舍五入
      print(e.floor());//不大于的最大整数
      print(e.ceil());//不小于的最小整数
      print(e.toInt());//change to int
      print(e.toDouble());//like his name
    
      //插值 这里一个很像format 或者是 %s
      print("d + b is ${d+b}");
      print('b is $b');//如果只是传一个参数就不用花括号了
    
      //string a = 'aaa';也可以使用3引号,多行。字符串前面加r 转义。
      //常用属性 length isEmpty isNotEmpty
      String ss = 'hhh123666666999999';
      print(ss.length);
      print(ss.isEmpty);
    
      //contains()是否包含,返回布尔值 索引indexOf() 大小写toLowerCase() toUpperCase()
      //trim()截取前后空格split()分隔 substring()截取。相当与python[0:4]
      print(ss.contains('hh'));
      print(ss.substring(0,4));
    
      //list ,const 不可变list,add()增加元素,insert(插入下标,元素) remove() clear()
      // sort() indexOf()返回位置 length长度属性 sublist()截取
      // shuffle()打乱 forEach()传入一个方法
      var list1 = const [1,2,3, 'ddd'];
      print(list1.sublist(0,2));
      list1.forEach(print);//循环这个list 调用这个方法
    
      //字典,.key .value containsKey() containsValue()
      var doc = {"h1":"here", "h2":"you", "h3":"are"};
      print(doc.keys);
      print(doc.values);
      print(doc.containsKey('hi'));//true
      
    }
    

    list

    list.asMap()//转list为字典 key为0,1,2...

    //dynamic 动态类型 可以被赋予不同的值

    ++ --

    a = 1;

    print(a++)//先打印后加1

    print(++a)//先加1再打印

    ??=

    ??= 赋值,上图中 b??=10的意思是如果b有值,那么b仍然是那个它原本该有的值,如果b没有值,那么b将会被赋予=之后的值。


    条件表达式

    三目运算符

    //条件表达式
    // 三目运算符condition?expr1:expr2
    // ??运算符expr1 ?? expr2
    void main(){
      int a = 1;
      String s = a == 1 ? "aaa" : "bbb";
      print(s);//aaa //a == 1 ? 如果是true 
                     //返回expr1 反之返回 expr2
    
    
      String z;
      String b = "java";
      var c = z ?? b;
      print(c);//java 如果两个那个值中有一个没有定义的话 返回另外一个,
               // 如果都定义了的话,返回第一个。如果都没有定义的话 返回 null
    }
    

    if

    //条件表达式
    // if
    void main(){
      int a = 1;
      if(a > 0){
        print('1111');
      }else if(a == 0){
        print(-111);
      }else {
        print(000);
      }
    }
    
    

    循环

    for循环

    for

    void main() {
      var list1 = [1,2,3,4,5,6,7,8,9,10];
      for(int index = 0; index < list1.length; index ++){//初始条件 操作,index++也可以写在花括号里
        print(list1[index]);//输出1到10
      }
    }
    

    for in

    void main(){
      var list = [1,2,3];
      for (var item in list){
        if(item != 2){
          print(item);//1 3
        }
      }
    }
    
    //1 2 3 4
    

    while循环

    while

    void main() {
      int a = 0;
      while(a < 5){
        print(a++);
      }
    }
    
    //1 2 3 4
    

    do... while...

    void main(){
      var b = 1;
      do{
        print(b++);
      }while(b > 0 && b < 5);
    }
    
    //1 2 3 4
    

    break 和 continue

    break 终止循环

    void main(){
      var list = [1,2,3];
      for (var item in list){
        if(item == 3){
          break;
        }
        print(item);
      }
    }
    
    // 1 2
    

    提一下assert

    如果布尔条件为false,则使用assert语句来中断正常执行。

    void main() {
      var a = 1;
      assert(a != 3);
      print(a);//1
    }
    
    void main() {
      var a = 1;
      assert(a != 1);
      print(a);//没有执行
    }
    

    continue 跳出当前循环 继续循环

    void main(){
      var list = [1,2,3,4,5,6];
      for (var item in list){
        if(item == 2){
          continue;
        }
        print(item);
      }
    }
    
    //1 3 4 5 6 
    

    switch...case语句

    var command = 'OPEN';
    switch (command) {
      case 'CLOSED':
        executeClosed();
        break;
      case 'PENDING':
        executePending();
        break;
      case 'APPROVED':
        executeApproved();
        break;
      case 'DENIED':
        executeDenied();
        break;
      case 'OPEN':
        executeOpen();
        break;
      default://默认情况
        executeUnknown();
    }
    

    与标签调用 标签可以自定义 test

    展开全文
  • Dart语言——45分钟快速入门(上)

    万次阅读 多人点赞 2020-09-24 23:43:28
    文章目录环境准备安装Dart SDK配置环境变量配置 VSCode 编辑器测试环境基础语法代码注释内置数据类型变量与常量定义变量定义常量内置类型的常用操作数值类型字符串布尔类型列表映射函数定义函数函数的参数命名可选...

    前言

    谷歌推出Flutter跨平台UI框架后,对移动端的开发又产生了新的影响,Flutter采用Dart语言开发,而Flutter为什么选择Dart语言作为唯一的开发语言呢?总的来说,其拥有如下优势

    • Dart可基于AOT(Ahead Of Time)编译,即编译成平台的本地代码,运行性能高。
    • Dart也可基于JIT(Just In Time)编译,编译快速,可热加载,使开发周期加倍提升(Flutter亚秒级有状态热重载)
    • Dart可以更轻松地创建以60fps运行的流畅动画和转场。Dart在没有锁的情况下进行对象分配和垃圾回收
    • Dart语法结合Java与JavaScript语法特点,几乎没有令人不适的怪异语法,使Java程序员倍感亲切,快速上手

    通常来说一门语言要么使用AOT编译,编译慢,开发效率低,或者使用JIT编译,在运行时编译,虽然可以热重载,但是执行效率低,而Dart在这两种之间做出了完美平衡,当开发时使用JIT编译,调试快,所见即所得,开发效率高,当发布时,使用AOT编译,编译成目标平台的本地代码,执行效率高。

    视频课程

    博主发布的相关视频课程

    Flutter全栈式开发之Dart 编程指南
    二维码

    Flutter 全栈式开发指南
    快速上手篇可试看

    环境准备

    安装Dart SDK

    官方下载地址
    共有三种SDK版本选择

    • Flutter
    • Web
    • Server

    本章仅作为Dart编程语法学习,这里建议安装Server版的SDK,然后选择Windows版本进行下载。

    配置环境变量

    在Windows上,通过点击下一步即可安装,安装完成后,需将dart-sdk下的的bin目录添加到系统Path环境变量中。这一步骤是通常的命令配置步骤。

    配置 VSCode 编辑器

    作为Dart语言的学习,不建议下载笨重的IDE,官方提供支持VSCode 编辑器插件,建议使用VSCode 学习。

    官网下载 VSCode编辑器,安装完成后,启动VSCode并在插件商店中搜索Dart进行插件安装。

    测试环境

    在VSCode中新建一个test.dart文件,编写如下代码

    void  main(){
        print("hello world!");
    }
    

    运行后成功在控制台输出hello world!

    基础语法

    代码注释

    Dart中的代码注释基本与Java语言相同

    // 单行注释
    
    /*
     * 多行注释
     */
    
    /**
     * 文档注释
     */
    
    /// 使用三个斜杠开头
    /// 这是Dart特有的文档注释
    

    内置数据类型

    在这里插入图片描述

    在Dart中,所有能够使用变量引用的都是对象,每个对象都是一个类的实例。数字、函数和 null 也都是对象。所有的对象都继承于Object类。

    要注意,没有初始化的变量默认值为 null。数值类型变量的默认值也是 null

    数值类型num有两个具体子类,分别为intdouble,其中int为整数值,范围是-2^532^53之间;double则是64位的双精度浮点数。

    变量与常量

    定义变量

    Dart中定义变量有两种方式,一种是静态类型语言常用的方式,显式指定变量类型,另一种则是动态语言的常用方式,不指定类型,由vm自动推断。

    // 1.通过显式指定类型来定义变量
    String name = "张三";
    num age = 18;
    
    // 2.使用关键字var,不指定类型
    var address = "深南大道";
    var id = 100;
    
    /* 使用var定义变量,即使未显式指定类型,一旦赋值后类型就被固定
     * 因此使用var定义的变量不能改变数据类型
     */
    var number = 19;
    // 以下代码错误,无法运行,number变量已确定为int类型
    number = "2019";
    

    如想动态改变变量的数据类型,应当使用dynamicObject来定义变量。

    // dynamic声明变量
    dynamic var1 = "hello";
    var1 = 19;
    print(var1);    // 19
    
    // Object声明变量
    Object var2 = 20;
    var2 = "Alice";
    print(var2);    // Alice
    

    建议在编写代码时,尽可能显式指定变量类型,这样可以提升代码可读性与调试的便利性。

    定义常量

    Dart中定义常量也有两种方式,一种使用final关键字,同Java中的用法, 一个 final 变量只能赋值一次;另一种是Dart的方式,使用const关键字定义。

    // 1.使用final关键字定义常量
    final height = 10;
    
    // 2.使用const关键字定义常量
    const pi = 3.14;
    

    需要注意,final定义的常量是运行时常量,而const常量则是编译时常量,也就是说final定义常量时,其值可以是一个变量,而const定义的常量,其值必须是一个字面常量值。

    final time = new DateTime.now(); // 正确
    const time = new DateTime.now(); // 错误
    
    
    const list = const[1,2,3];       // 正确
    const list = [1,2,3];            // 错误
    

    内置类型的常用操作

    数值类型

    // String 转 int
    var one = int.parse('1');
    
    // String 转 double
    var onePointOne = double.parse('1.1');
    
    // int 转 String
    String oneAsStr = 1.toString();
    
    // double 转 String
    String piAsStr = 3.14159.toStringAsFixed(2); // 保留两位 '3.14'
    
    // Dart也支持整数位操作,<<、 >>、&、|
    print((3 << 1) == 6);  // 0011 << 1 == 0110
    print((3 >> 1) == 1);  // 0011 >> 1 == 0001
    print((3 | 4)  == 7);  // 0011 | 0100 == 0111
    

    字符串

    值得一提的是,Dart中提供的字符串插值表达式使字符串格式化变得异常方便。

    // 1.Dart可以使用单引号或双引号来创建字符串
    var s1 = "hello";
    var s2 = 'world';
    
    // 2.类似Python,Dart可以使用三引号来创建包含多行的字符串
    var multiLine1 = """你可以像这样,创建一个
    包含了多行的字符串内容
    """;
    
    var multiLine2 = '''你也可以使用三个单引号,创建一个
    包含了多行的字符串内容
    ''';
    
    // 3.类似Python,还可以在字符串字面值的前面加上`r`来创建原始字符串,则该字符串中特殊字符可以不用转义
    var path = r'D:\workspace\code';
    
    // 4.Dart支持使用"+"操作符拼接字符串
    var greet = "hello" + " world";
    
    // 5.Dart提供了插值表达式"${}",也可以用于拼接字符串
    var name = "王五";
    var aStr = "hello,${name}";
    print(aStr);    // hello,王五
    
    // 当仅取变量值时,可以省略花括号
    var aStr2 = "hello,$name"; // hello,王五
    
    // 当拼接的是一个表达式时,则不能省略花括号
    var str1 = "link";
    var str2 = "click ${str1.toUpperCase()}";
    print(str2);   // click LINK
    
    // 6. 与Java不同,Dart使用"=="来比较字符串的内容
    print("hello" == "world");
    

    布尔类型

    Dart中的布尔类型用法同Java,仅有falsetrue两个值,不能使用0、非0或者null、非null来表达falsetrue。与Java不同的是,布尔类型的默认值为null

    bool flags;
    print(flags);    // null
    

    列表

    Dart中列表操作与JavaScript中的数组相似。

    // 创建列表
    var list = [1, 2, 3];
    // 下标从0开始。使用length可以访问list的长度
    print(list[0]);
    print(list.length);
    
    // 可以使用add添加元素
    list.add(5);
    
    // 可在list字面量前添加const关键字,定义一个不可改变的 列表(编译时常量)
    var constantList = const [1, 2, 3];
    constantList[1] = 1;     // 报错
    

    映射

    又称为关联数组,相当于Java中的HashMap

    // 1.通过字面量创建Map
    var gifts = {
      'first' : 'partridge',
      'second': 'turtledoves',
      'fifth' : 'golden rings'
    };
    
    // 2.使用Map类的构造函数创建对象
    var pic = new Map();
    // 往Map中添加键值对
    pic['first'] = 'partridge';
    pic['second'] = 'turtledoves';
    pic['fifth'] = 'golden rings';
    
    // 3.获取Map的长度
    print(pic.length);
    
    // 4.查找Map
    pirnt(pic["first"]);
    print(pic["four"]);    // 键不存在则返回 null
    

    函数

    在Dart中,函数(或方法) 也是对象,它的类型是 Function。 这意味着,函数可以赋值给变量,也可以当做其他函数的参数。

    定义函数

    Dart中定义函数,基本上与Java类似

    String greet(String name){
        return "hello,$name";
    }
    

    在Dart中,类型是可选,可以省略显式的类型,但仍然建议显式指定类型。

    greet(name){
        return "hello,$name";
    }
    

    要注意,函数也是对象,所有函数都有返回值。当没有指定返回值的时候,函数会返回null。当然,如果你强行使用void来修饰函数,则函数真的没有返回值,这种情况就另当别论了。

    函数的参数

    Dart中支持两种可选参数

    • 命名可选参数
    • 位置可选参数

    在Java中通常使用方法重载来实现同名方法的不同参数调用,Dart中则可以通过可选参数来实现相同效果。

    命名可选参数

    先来看一下命名参数,它使用花括号来定义参数列表

    // 定义一个函数,参数列表用花括号包裹
    enableFlags({bool bold, bool hidden}) {
        // do something
    }
    
    // 调用方式,传参时使用"参数名:值"的形式
    enableFlags(hidden:true,bold:false);
    

    如果在定义函数时,给参数列表中的参数设置默认值,则该参数就是可选的,函数调用时可以忽略该参数,使用默认的值。

    // 定义add函数
    add({int x, int y=1, int z=0}){
        print(x + y + z;
    }
    
    // 调用
    add(x:18);              // 19
    add(x:18, y:2, z:10);   // 30
    

    这里需要注意一下,SDK 1.21之前的版本中,命名参数不能使用=号来设置默认值,而SDK 1.21之后,只能使用=号来设置默认值。因此,请检查并升级SDK版本。

    位置可选参数

    位置可选参数使用中括号来定义参数列表,中括号中的参数是可选的

    // 定义add函数
    add(int x, [int y, int z]){
        int result = x;
        if (y !=  null){
            result = result + y;
        }
    
        if (z !=  null){
            result = result + z;
        }
        print(result);
    }
    
    // 调用
    add(18);           // 18
    add(18,12);        // 30
    add(18, 12, 15);   // 45
    

    位置可选参数设置默认值

    // 定义add函数
    add(int x, [int y=0, int z=0]){
        print(x +y+z);
    }
    

    最后需要注意一下命名可选参数位置可选参数的区别,前者中的参数与顺序无关,无需按顺序传参,且传参数时需使用冒号;后者与顺序相关,传参必须依照顺序。

    匿名函数

    大部分函数都有名字,但我们也可以创建没有名字的函数,称为匿名函数,也被称为lambda表达式或者闭包。

    // 定义匿名函数,并将其赋值给一个变量func,注意,函数体最后的花括号处必须有分号结束。
    var func = (x,y){
        return x + y;
    };
    
    print(func(10,11));    // 21
    

    注意,匿名函数与普通函数基本相同,也有参数列表,函数体,只是省去了函数名而已。

    箭头函数

    Dart中的箭头函数与JavaScript中的基本相同。当函数体中只包含一个语句时,我们就可以使用=>箭头语法进行缩写。注意,箭头函数仅仅只是一个简洁表达的语法糖。

    普通函数

    add(num x, num y){
        return x + y;
    }
    
    print(add(18,12));    // 30
    

    箭头函数

    // 与上面的普通函数完全等价
    add(num x, num y) => x + y;
    
    print(add(18,12));    // 30
    

    箭头函数省略了花括号的表达,箭头后面跟一个表达式,函数的返回值也就是这个表达式的值。另外,箭头函数也可以与匿名函数结合,形成匿名箭头函数。

    var func = (num x, num y) => x + y;
    

    运算符

    Dart语言中的运算符与Java中的绝大多数相同。

    算术运算符

    +-*/%同Java语言

    Dart中又多出了一个整除运算符~/,与普通除号的区别是将相除后的结果取整返回。

    类型判定运算符

    以下是Dart增加的类型相关的运算符。

    操作符 解释
    as 用于类型转换
    is 如果对象是指定的类型就返回 True
    is! 如果对象不是指定的类型返回 True

    obj 实现了 T 的接口时, obj is T 才是 true。类似于Java中的instanceof

    Dart中使用 as 操作符把对象转换为特定的类型,如无法转换则会抛出异常,因此在转换前最好使用is运算符进行检测。

    // 将p转换为Person类型再操作
    (p as Person).name = 'Bruce';
    

    条件表达式

    Dart中也支持三目表达式
    condition ? expr1 : expr2

    除此外,Dart还增加了非空条件判断符??
    expr1 ?? expr2
    上述运算表示,如果expr1的值不等于null,则返回其值; 否则执行表达式expr2并返回其结果。

    var str1 =  "Hello";
    var str2 =  "world";
    var result = str1 ?? str2.toUpperCase();
    

    级联运算符

    我们通常使用.操作符调用对象的方法,这在Dart中也是支持的,但是Dart另外增加了一种级联运算符..,用两个点表示。

    级联运算符可以在同一个对象上连续调用多个方法以及访问成员变量。 使用它可以避免创建临时变量, 写出更流畅的代码。

    假如类Person有三个方法,setNamesetAgesave,则可如下调用

    new Person()..setName("Bob")..setAge(20)..save();
    

    使用级联运算符调用方法,无需该方法返回对象本身即可连续的流式的调用该对象的其他方法。

    条件成员访问符

    在Java中很容易碰到恼人的空指针错误,因此在方法调用前需要进行对象的非空判断,这样的判断语句使代码变得冗长,可读性差,不整洁。Dart中则发明了一个新的运算符用于处理此类情况。

    条件成员访问符?.,它和.类似,但是运算符左边的对象不能为null,否则返回null,若对象不为null,则返回对象本身。

    // list1默认值为null
    List list1;
    print(list1?.length);  // null
    
    List list2 = [];
    print(list2?.length);  // 0
    

    分支与循环

    条件分支

    Dart中的条件分支基本与Java相同

    if条件分支

    if(i < 0){
      print('i < 0');
    }else if(i == 0){
      print('i = 0');
    } else {
      print('i > 0');
    }
    

    switch条件分支

    // 在switch的case中可以使用整数、字符串、枚举类型和编译时常量
    String command = 'OPEN';
    switch (command) {
      case 'CLOSED':
        break;
      case 'OPEN':
        break;
      default:
        print('Default');
    }
    

    循环语句

    基本循环

    Dart中的基本循环语句与Java相同

    // for循环
    for(int i = 0; i < 9; i++) {
      print(i);
    }
    
    // while循环
    while(true){
      //do something
    }
    
    // do-while循环
    do{
      //do something
    } while(true);
    

    特有循环

    var myList = ['Java','JavaScript','Dart'];
    
    // for...in...循环,类似Java中的增强for
    for (var it in myList ){
        print(it);
    }
    
    // forEach循环。其参数为一个Function对象,这里传入一个匿名函数
    myList.forEach((var it){
        print(it);
    });
    
    // 可以使用匿名箭头函数简写
    myList.forEach((it) => print(it));
    

    使用循环遍历Map

    var myMap = {
    'zhangsan':'201901',
    'lisi':'201902',
    'wangwu':'201902'
    };
    
    // forEach遍历Map
    myMap.forEach((k, v) =>  print("$k : $v"));
    
    // 根据键获取值来遍历。通过keys返回Map中所有键的集合
    for(var k in myMap.keys){
        print("$k : ${myMap[k]}");
    }
    

    下一篇 Dart语言——45分钟快速入门(下)

    关注我的公众号:编程之路从0到1

    编程之路从0到1

    展开全文
  • Dart视频教程

    千次阅读 2019-03-11 10:39:25
    Dart简介 Dart开发环境搭建 Dart开发工具 Dart的数据类型 Dart变量 Dart运算符 Dart循环 Dart条件语句 Dart数字 Dart字符串 Dart布尔类型 Dart列表 Dart map Dart枚举类型 Dart函数 DartDart继承 Dart接口 Dart...
    展开全文
  •   Dart 作为开发 Flutter 应用的基础语言,对于开发 Flutter 应用你必须要学习 Dart 语言。其实,个人认为高级语言基本上都是大同小异,90% 是想通的,只有 10% 是此种语言的特性,需要重点学习。我个人认为,只要...

    前言

      Dart 作为开发 Flutter 应用的基础语言,对于开发 Flutter 应用你必须要学习 Dart 语言。其实,个人认为高级语言基本上都是大同小异,90% 是想通的,只有 10% 是此种语言的特性,需要重点学习。我个人认为,只要你有一门高级语言的基础,学习 Dart 语言其实是不难的。习惯上和思想上多注意一点就 ok 了。??

    Dart 语言介绍

      Dart 是谷歌开发的计算机编程语言,后来被 Ecma (ECMA-408)认定为标准。它被用于web、服务器、移动应用和物联网等领域的开发。它是宽松开源许可证(修改的BSD证书)下的开源软件。
      Dart 是面向对象的、类定义的、单继承的语言。它的语法类似C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和sound type system。

    学习笔记

      个人学习 Dart 语言的笔记,已传至 GitHub,需要的话,可以下载。
      Flutter 学习教程

    学习目录

    Demo1 第一个程序
    • 第一个 Dart 程序
    Demo2 入口函数
    • 入口方法
    Demo3 基本类型
    • 类型判断
    • 布尔类型
    • 数值类型
    • 字符串类型
    • List集合类型
    • Maps类型
    Demo4 运算符
    • 赋值运算符
    • 关系运算符
    • 逻辑运算符
    • 算术运算符
    • 类型转换
    • 条件表达式
    Demo5
    • ++/ –
    • break/continue
    • do…while
    • for 循环
    Demo6
    • forEach / Map / Where / any
    • List
    • Map
    • Set
    Demo7
    • 方法定义
    • 方法传参、默认参数、可选参数
    • 箭头函数、函数相互调用
    • 匿名函数、自执行方法、方法的递归
    • 闭包
    Demo8
    • 面向对象介绍以及 Dart 内置对象
    • 类里面的初始化列表
    • 自定义函数命名构造函数
    • 自定义类的默认构造函数
    • 自定义类和使用类
    • 把类抽成一个文件
    • 私有属性和私有方法
    • Dart 提供的 getter 和 setter 方法
    Demo9
    • 对象操作符
    • 类的继承,简单继承
    • 类的继承,super 关键词使用,实例化子类给父类构造函数传参
    • super 的使用
    • 类的继承,实例化子类给命名构造函数传参
    • 类的继承,覆写父类方法
    • 类的静态成员和静态方法
    Demo10
    • 抽象类
    • 多态
    • 接口
    • 接口,文件分离
    Demo11
    • implements 实现多个接口
    • mixins
    • mixins 的类型
    • mixins 的练习
    Demo12
    • 泛型,泛型方法
    • 泛型类
    • 泛型接口
    Demo13
    • 导入自己本地库
    • 引入系统内置库
    • 导入系统内置库实现数据请求httpClient
    • Async 与 Await
    • 导入Pub包管理系统中的库
    • 库的重命名,解决冲突
    • 库部分导入
    • 延迟加载
    展开全文
  • dart简易教程

    2019-02-19 23:58:29
    跟Java等很多语言不同的是,Dart没有public protected private等关键字,如果某个变量以下划线 _ 开头,代表这个变量在库中是私有的。Dart中变量可以以字母或下划线开头,后面跟着任意组合的字符或数字 变量 变量...
  • Dart基础教学

    2019-08-16 14:55:12
    本课程主要采取图文与代码讲解的形式,充分帮助学员理解Dart原理与加深对代码的认知力度。 在讲解代码的基础上也会稍带部分设计模式与代码编程技巧等知识,让学员在学习代码的同时更能掌握实际中的编程技巧。
  • Dart教程

    2019-07-15 18:26:59
    1.Dart是Flutter的主要开发语言,Flutter是一个来自Google用于移动应用开发的SDK 工具:https://dartpad.dartlang.org/ 2.main() 方法是 Dart 的主方法,存在于最外层的作用域,在 Dart 中你可以在类之外编写代码,...
  • 一、安装dart sdk brew tap dart-lang/dart brew install dart 二、安装VSCode 去官网下载即可 三、安装dart插件 dart插件 四、安装code runner插件 code runner code runner: CodeRunner是一款轻量...
  • Dart教程-1.vscode配置dart开发环境

    千次阅读 2019-06-19 17:46:53
    1. Dart sdk下载和环境配置 下载地址:http://www.gekorm.com/dart-windows/ 下载完成后安装并配置环境变量: 替换安装后的Dart sdk. cmd运行: dart --version. 出现下面的结果表示安装和配置环境成功! ...
  • Dart教程(一)类型

    2019-07-03 14:33:45
    人生之路在于不断学习,今天便来讲讲dart的基础知识。 类型定义 Dart的类型很少,很容易掌握。 数字 字符串(String) 布尔(bool) 列表(list) 集合(set) 映射(map) 用于在字符串中表示Unicode字符(runes)...
  • 原创于简书:dart入门潜修系列教程 dart入门潜修基础篇之基本语法和内置类型
  • 类 特点: 面向对象 mixin继承 所有的类都继承自object 一、类的实例变量(成员变量) 对象的成员包括:function(成员函数)和data(成员变量) 点语法:略 ...的使用:不为null则赋值 // If p is non-null, set its y ...
  • 现在我们来看看如何在Dart中处理异步代码。使用Flutter时,会执行各种操作,例如网络调用和数据库访问,这些操作都应该异步执行。 在Dart中导入库 在Dart中使用异步,需要先导入异步库。 Future 异步库包含一个名为...
  • 与Java类似,每个Dart程序都必须有一个main作为其入口点。 要运行程序,请将其保存在名为“hello_world.dart”的文件中,并在终端中执行以下命令。(如果没有dart环境,请先完成安装。) 定义变量 就像在JavaScript...
  • Dart教程(四):语法

    2019-12-20 11:12:40
    1、dart中所有能放置到变量中的数据都是对象,是class的实例对象。不管是数字、函数、null等等,都继承自class这个类; 2、dart虽然是强类型,但是不需要指定变量的类型,因为dart能够推断出变量的类型; 3、dart...
  • Flutter之Dart入门 基础

    千次阅读 2019-07-09 14:31:12
    变量 下面是声明变量并赋值的方法: var name = 'Bob'; 变量实际上是一个引用,上面名字为 name 的变量引用了 一个内容为 “Bob”的 String 对象。 ...没有初始化的变量会自动获取一个默认值 null。...
  • 我们已经完成了Dart中的变量,类型和函数的学习(如果你还没有读过它,请阅读Flutter必备语言Dart教程01 - 变量,类型,函数),现在我们来看看Dart中的控制流和异常处理。 控制流 If – else Dart中的 if-else 非常...
  • 很多人可能听说过React ...而在2015年Dart开发者峰会上亮相了Flutter的第一个版本叫做Sky。从时间来看比weex的出现早点儿。为什么拿这三个框架来说呢?因为他们有共性,那就是构建APP的用户界面。 Flutter的身...
1 2 3 4 5 ... 20
收藏数 3,089
精华内容 1,235
热门标签
关键字:

dart教程