码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-01-26 22:28:21      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:技术   来替   bool   string   修改   list   ima   语法   类型   

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

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

  var a;
  print(a);

  a = 10;
  print(a);

  a = Hello Dart;
  print(a);

输出:

null
10
Hello Dart

3. 使用final声明一个只能赋值一次的变量

技术图片

4. 使用const声明常量 使用const声明的必须是编译器常量

技术图片

5.声明变量的方式

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]

}

6.声明常量的方式

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

 

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

标签:技术   来替   bool   string   修改   list   ima   语法   类型   

原文地址:https://www.cnblogs.com/jukaiit/p/12234921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!