• Dart语言学习(二) Dart的常量和变量


    1.使用var声明变量,可赋予不同类型的值

    Dart是一个强大的脚本类语言,可以不预先定义变量类型 ,自动会类型推导

    Dart中定义变量可以通过var关键字可以通过类型来申明变量

        var str='this is Dart var';
        
        String str='this is Dart var';
    
        int str=123;
     注意: var 后就不要写类型,写了类型不要var;两者都写var aint = 5; 会报错

    2.未初始化时候,默认值未null

      var a;
      print(a);
    
      a = 10;
      print(a);
    
      a = 'Hello Dart';
      print(a);

    输出:

    null
    10
    Hello Dart

    3. 常量

    final 和 const修饰符用来修饰常量
    const值不变 一开始就得赋值 final 可以开始不赋值 只能赋一次 ;
    而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化 永远不改量的量,请使用final或const修饰它,而不是使用var或其他变量类型。

    3.1 使用final声明一个只能赋值一次的变量(可以开始不赋值)

    3.2 使用const声明常量 使用const声明的必须是编译器常量 (一开始就要赋值)

    4. 声明变量的方式

    var      : 【编译期】确定【变量类型】
    dynamic     : 【运行期】确定【变量类型】
    bool 
    int 
    double
    String 
    List
    Map

    注意:
    1.所有未初始化的变量的初始值为null。这是因为Dart将所有值都视为对象
    2.var实际上是编译期抛给我们的“语法糖”,一旦被编译,
    编译期会自动匹配var 变量的实际类型,并用实际类型来替换该变量的申明,
    这看上去就好像我们在编码的时候是用实际类型进行申明的。
    而dynamic被编译后,实际是一个 object类型,
    只不过编译器会对dynamic类型进行特殊处理,
    让它在编译期间不进行任何的类型检查,而是将类型检查放到了运行期。

    main() {
      var a = 10;
      print(a);//10
    //  a = "dart"; //写法错误
    
      dynamic b = 20;
      print(b); //20
      b = "JavaScript"; //正确
      print(b); //JavaScript
    
      var list = new List<dynamic>();
      list.add(1);
      list.add("hello");
      print(list);//[1, hello]
    
    }

    5.声明常量的方式的区别

    final     :【运行期】确定【常量值】
    const     :【编译期】确定【常量值】
    注意:
    1.final 不必须初始化,只能赋值一次,且不能修改值,赋值可以是常量也可以是变量。
    const必须初始化,只能赋值一次,且不能修改值,赋值必须是常量。
    2.const必须根据可在编译时计算的数据创建它们。
    const对象无法访问运行时需要计算的任何内容。
    1+2是一个合法的const表达式,但new DateTime.now()不是(合法的const表达式)
    3.使用const关键字声明的变量是隐式final的。
    可以把const 常量赋给 final 变量,反过来不可以。
    4.final和const可以与变量的数据类型一起使用,也可以与 var 关键字一起使用。

     6.Dart 命名规则

    1.变量名称必须由数字、字母、下划线和美元符($)组成。
    2.注意:标识符开头不能是数字
    3.标识符不能是保留字和关键字。 
    4.变量的名字是区分大小写的如: age和Age是不同的变量。在实际的运用中,也建议,不要用一个单词大小写区分两个变量。
    5、标识符(变量名称)一定要见名思意 :变量名称建议用名词,方法名称建议用动词

       本文原创链接:https://www.cnblogs.com/jukaiit/p/12234921.html

    Dart学习系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html
  • 相关阅读:
    WikiPedia技术架构学习笔记
    MySQL 架构设计篇 (十二) 可扩展设计的基本原则
    php前端控制器二
    php前端控制器三
    构建可扩展的WEB站点读书笔记
    发布脚本开发框架代码
    改良dbgrideh的文字过滤
    cxgrid在当前View插入记录
    生成不重复单据编号
    cxgrid按条件计算合计值
  • 原文地址:https://www.cnblogs.com/jukaiit/p/12234921.html
Copyright © 2020-2023  润新知