• dart的基础知识


    一 变量和数据类型

        1,定义变量的方法:var 变量名; var 变量名=**; 数据类型 变量名; 数据类型 变量名=***;

        2,基本的数据类型:

             int:整数类型,(var a=1; or int a=1;)

       double : 浮点类型,(var a=1.1; or double a=1.1;)

             num:即可整数类型,也可以是浮点数类型(num a = 1.1)

        String:字符串类型 (var name="xiaoming"; or String name = 'xiaoming';

              字符串可以使用¥符号进行与其他的是数据类型进行拼接(String str = "a = $a"; or cc='${bb}';

         length:查看字符串的长度(int b = a.length)

             bool:布尔类型,就只有两个值,false and true

             List:列表类型(var a=[1,2,3,4]; or List a=[1,2,'qq',1.2]),列表数据类型里面可以放其他的数据类型

        通过索引进行取值,从0开始:var element = list[0];

        length:查看列表的长度,也就是几个元素(int length = list.length;

        如果只想存一种数据类型的数据,那要借助泛型(List<String> list3 = <String>['a', 'b', 'c'];)其他的数据类型就会报错

             Map:相当于字典类型(Map map = {'Apple' : '苹果', 'Banana' : '香蕉', 'Peach' : '桃子', 1 : '1', true : 0};

                   根据key取值(String value = map['Apple'];

             Map 的键和值的数据类型也可以是指定的(Map<int, String> map = <int, String>{1 : 'a', 2 : 'b', 3 : 'c'};)如果放入其他的数据类型就会报错

    二,if判断

         

    var year = 18;
    单支判断:
    if (year>=20){
        print('大了');
      }
    
    双支判断
    if (year>=20){
        print('大了');
      }else{
        print('小了');
      }
    
    多支判断
    if (year > 20) {
        print('大了');
      } else if (year == 18) {
        print('正好');
      }else{
        print('小了');
      } 

    三,循环语句;

    for (var object in flybyObjects) {
      print(object);
    }
    
    for (int month = 1; month <= 12; month++) {
      print(month);
    }
    
    while (year < 2016) {
      year += 1;
    }

    四,函数

    int test(int n){
      if (n>0){return n;}else{
        return -1;
      }
    }

    五,导入模块

    // Importing core libraries
    import 'dart:async';
    import 'dart:math';
    
    // Importing libraries from external packages
    import 'package:angular2/angular2.dart';
    
    // Importing files
    import 'path/to/my_other_file.dart';

    六,练习

    // import 'dart:io';
    int test(int n){
      if (n>0){return n;}else{
        return -1;
      }
    }
    ​
    var name="fang";
    var year=18;
    var bot=4.10;
    var li = [name,year,bot];
    void main() {
      print(li);
      
      if (year>=20){
        print('大了');
      }else{
        print('小了');
      }
      var aa;
      aa=test(0);
      print(aa);
      
      for (var i in li){
        print(i);
      }
      
      for (int i =1;i<10;i++){
        var aa ='';
        for (int j = i;j<10;j++){
          var bb=i*j;
          var cc;
          if (bb > 9){
            cc='${bb}';
          }else{
            cc='${bb} ';
          }
          aa = '${aa} ${i}*${j}=${cc}';
          
        }
        int a=aa.length;
        print(a);
    //     print(aa);
      }
      
      print(11%2);
      
      for (var i=1;i<101;i++){
        if (i%2==0){
          print(i);
        }
      }
      for (var i=1;i<101;i++){
        if (i%2==1){
          print(i);
        }
      }
    }
    ​
    View Code

     七,类

    class Test{
      String name;
      
      Test(this.name){
        name=this.name;
        print(name);
      }
      
      int test_1(int n){
        return n*2;
      }
      
      void test_3(){
        print(this.name);
        if (this.name=="fang"){
          print('yes');
        }else{
          print('no');
        }
      }
    }
    
    // 单继承
    class Test_1 extends Test{
      int age;
      
      Test_1(this.age,String name):super(name);
      
      void test_4(){
        var cc = "${name}今年${age}岁";
        print(cc);
      }
      
    }
    
    // 多继承
    class Test_2{
      int astronauts;
    //   Test_2(this.astronauts){
    //     astronauts=this.astronauts;
    //     print(astronauts);
    //   }
      void describeCrew() {
        print('Number of astronauts: $astronauts');
      }
    }
    
    class TestMixins extends Test_1 with Test_2 {
      int year;
      TestMixins(this.year,age,name,astronauts):super(age,name);
      void test_mixins(){
        print("test");
      }
    }
    
      // 隐含api
    class Test_3{
      String name;
      Test_3(this.name){
        name = this.name;
      }
      void test_3(){
        
      }
      
    }
    class TestImplement implements Test_3{
      @override
      String name;
      TestImplement(this.name){
        name=this.name;
        print(name);
      }
      @override
      void test_3(){
        print(this.name);
        if (this.name=="fang"){
          print('yes');
        }else{
          print('no');
        }
      }
      
     
    }
    
    // 抽象类
    abstract class Test_4{
      void describe();
      
      void describeWithEmphasis() {
        print('=========');
        describe();
        print('=========');
      }
    }
    
    class Test_5 extends Test_4{
      @override
      void describe(){
        print('test');
      }
    }
    
    void main() {
      // class
      var test_2=new Test('fang');
      int aa = test_2.test_1(10);
      print(aa);
      test_2.test_3();
      
      // 单继承
      var test_5 = new Test_1(18,'fang');
      test_5.test_4();
      test_5.test_3();
      
      // 多继承
      var testmixins = new TestMixins(2000,18,'fang',1);
      testmixins.test_4();
      testmixins.describeCrew();
      testmixins.test_mixins();
      
      // 隐含api
      var testimp = new TestImplement('fang');
      testimp.test_3();
      
      //抽象类
      var test5 = new Test_5();
      test5.describeWithEmphasis();
    }
    View Code
  • 相关阅读:
    document.body.appendChild 的问题
    页面不刷新,表单提交到弹出窗口或Iframe
    您对无法重新创建的表进行了更改或者启用了 阻止保存要求创建表的更改
    转载:兼容各类浏览器的CSS Hack技巧
    sql server 代理权限问题
    配置SQL用户访问指定表,指定列
    关于嵌入式系统的启动(装载)
    centos 中安装g++
    嵌入式中利用ftp实现宿主机与目标机通信
    TQ2440加载Hello world驱动模块
  • 原文地址:https://www.cnblogs.com/fangjie0410/p/11496641.html
Copyright © 2020-2023  润新知