美文网首页
基础语法

基础语法

作者: 殇城阡陌 | 来源:发表于2020-10-10 10:00 被阅读0次

    基础类型定义

    //集合,详细的后面再说,这里简单展示下List的一些定义  ——> js array

      List list1 = new List();//默认长度是0

      List list2 = new List(3);//dart中也是有泛型的,初始化集合大小

      List list3 = new List()..length = 3;//这其实就是一种链式写法,后面再详细介绍

      List list4 = [1,'2',3.0,true];//直接初始化集合

      List list5 = ['1',"2"];//如果前置类型指定了泛型,初始化就必须是指定的类型

      //映射,详细的后面再说,这里简单展示下Map的一些定义  ——> js object

      Map map1 = new Map();

      Map map2 = new Map();//Map的泛型

      Map map3 = {"key1" : "value1", 1 : 2};//直接初始化Map

      //下面我们再看下常用的一些修饰词

      final String finalStr = "这是一个不可修改的字符串";

      static String staticStr = "这是一个静态字符串";

      //static final 组合使用要注意,static 必须修饰在 final 前面,否则会编译错误

      static final String staticFinalStr = "这是一个不可修改的静态字符串";

      //const 常量,目前觉得它非常类似 final,但是它只能修饰静态的

      static const String constStr = "这是一个常量";

      //_ 下滑线,这个可以用于大多数名称(如:变量名,类名等)前,它会将修饰的类或变量私有化

      String _privateStr = "这是一个私有的字符串";

      //在方法名前加 _ 就可以将方法私有化

      void _method5() {

        print("控制台打印"); //这个方法是内置的,哪里都可以调用

      }

    //方法

      void method1() { } //无参无返回

      String method2() { return "返回字符串"; } //无参有返回

      //可以看到返回定义是可以不写的,但是并不推荐,因为这样没有可读性

      method3() { } //默认无返回

      method4() { return "返回字符串"; } //默认返回字符串类型

    函数参数定义

    //下面看下 dart 中参数可以怎么定义

      //[] 表示可选参数,顾名思义 可以传,也可以不传

      //注意:可选参数必须定义在一起,放到最后面,传参时是按照方法顺序的

      //看到 param4,可以看到参数定义可以不指定类型的,应该默认 Object 的,不过不推荐

      //以及最后面多出一个逗号也不会有编译错误,java 的话就比较严格了,不过这并不能说是优点

      static void method7(int param1, String param2, [double param3, param4, ]) {

        if (param3 != null) { //假设 param1 = 5,param3 = 2.1

          //简单看下运算符

          print(param1 * param3); //输出:10.5

          print(param1 / param3); //输出:2.380952380952381

          print(param1 ~/ param3); //取整,输出:2

          print(param1 % param3); //输出:0.7999999999999998

          //${} 字符串中引入简单操作

          print("param1 + param3 = ${param1 + param3}"); //输出:param1 + param3 = 7.1

        }

        //如果 param2 = "参数二"

        print("我们引入${param2}这个字符串"); //输出:我们引入参数二这个字符串

        if (param4 != null) { //假设 param4 = "参数四"

          //{} 花括号在某些情况是可以不写的,但是不推荐

          print("这是param4的值是$param4"); //输出:这是param4的值是参数四

        }

      }

    //{} 表示命名参数,在调用的时候不需要关心参数顺序,但需要指定参数名称,同时他们都是可选的

      //例:FirstDart.method8(param2: "参数二", param1: "参数一");

      //    FirstDart.method8(param1: "参数一");

    static void method8({String param1, String param2}) {}

    //implements 实现,可以多实现,但是必须重写方法

    classAimplimplements A {

      @override

      void a() { }

    }

    //with 混合,这对我来说是个新鲜概念//Amixin 可以使用 with 多个混合类,同时获得他们的所有方法和属性,有点多继承的意思

    class Amixin with A {}

    相关文章

      网友评论

          本文标题:基础语法

          本文链接:https://www.haomeiwen.com/subject/spydpktx.html