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

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

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

    var str='this is Dart var';

    String str='this is Dart var';

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

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

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

输出:

null

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 = ;
print(a);//10
// a = "dart"; //写法错误 dynamic b = ;
print(b); //
b = "JavaScript"; //正确
print(b); //JavaScript var list = new List<dynamic>();
list.add();
list.add("hello");
print(list);//[1, hello] }

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

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

6.Dart 命名规则

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

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

Dart学习系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html

Dart语言学习(二) Dart的常量和变量的更多相关文章

  1. Dart语言学习(十) Dart流程控制语句

    一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if ...

  2. Dart语言学习(六) Dart 列表List数组

    创建List : var list = [1,2,3,"Dart",true]; 创建不可变List : var list = const [1,2,3,"Dart&qu ...

  3. Dart语言学习(五)Dart Bool类型

    Dart Bool类型和其他语言类似,比较简单 其特点有: 1.使用 bool 表示布尔类型 2.布尔值只有 true 和 false 3.布尔类型bool默认值是null bool isTrue = ...

  4. Dart语言学习(四)Dart字符串

    一.字符串的创建 使用 单引号,双引号 创建字符串 使用 三个引号或双引号 创建多行字符串 使用 r 创建原始 raw 字符串 String str1 = 'Hello';//"" ...

  5. Dart语言学习(三)Dart数值型

    一.类型 数值型有 num,int, double  num a = ; a = 12.5; print(a); print(a.runtimeType); ; // b = 20.5; print( ...

  6. Dart语言学习(七)Dart Map类型

    映射(Maps)是无序的键值对: 常用属性: keys 获取所有的key值 values 获取所有的value值 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: remove( ...

  7. Dart语言学习(十三) Dart Mixins 实现多继承

    Mixins Mixins(混入功能)相当于多继承,也就是说可以继承多个类,使用with关键字来实现Mixins的功能. 那么多个类中有相同的方法时候,会被覆盖吗?覆盖的先后是什么? class A{ ...

  8. Dart语言学习(十一) Dart异常处理

    异常是表示发生了意外的错误,如果没有捕获异常,引发异常的隔离程序将被挂起,并且程序将被终止: Dart代码可以抛出并捕获异常,但与java相反,Dart的所有异常都是未检查的异常,方法不声明它们可能抛 ...

  9. Go语言学习笔记三: 常量

    Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = &qu ...

随机推荐

  1. mysql的优化(经典必看)

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  2. VS 2017 mscorlib.dll 加载元数据时发生严重错误,需要终止调试

    VS 2017 mscorlib.dll 加载元数据时发生严重错误,需要终止调试 C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0. ...

  3. StreamPipes

    MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was desi ...

  4. pyodbc 一些内容

    如果表格里是空的,读出来是会变为None,所以用是否等于None来判断内容是否为空.

  5. POJ 1330(LCA/倍增法模板)

    链接:http://poj.org/problem?id=1330 题意:q次询问求两个点u,v的LCA 思路:LCA模板题,首先找一下树的根,然后dfs预处理求LCA(u,v) AC代码: #inc ...

  6. 大数据-HBase

    HBase HBase(Hadoop Database)基于Google的BigTable论文,依赖HDFS进行存储.适合存储大体量数据.HBase是高可靠性(数据安全).高性能(存取效率).面向列. ...

  7. Scale9Sprite不要在初始化的时候setCapInsets

    let scale9Sprite = new ccui.Scale9Sprite(filePath);scale9Sprite.setCapInsets(cc.rect(x,y,w,h)); 而非 l ...

  8. softmax-Fork

    softmax和分类模型 内容包含: softmax回归的基本概念 如何获取Fashion-MNIST数据集和读取数据 softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集 ...

  9. crontab实践

    1.crontab概要 2.crontab使用 3.关键配置信息 3.1如何配置定时任务 4.注意事项 参考 https://www.cnblogs.com/keithtt/p/6946498.htm ...

  10. [AGC027C]ABland Yard

    Description AGC027C 给定一张图,点有标号A或B,计算是否对于任意的一个由AB构成的字符串都在图中有对应的路径. Solution 观察可以发现,如果有个环(不一定是简单环)是AAB ...