详解flutter之dart变量和常量

什么是变量?

变量是⼀个引⽤,根据Dart中万物皆对象原则,即变量存储的都是对象的引⽤,或者说它们都是指向对象。

上面的说法,刚开始我们很难理解。

我们先把变量理解成,电脑(内存)里某个值的代号即可。

dart 中如何声明一个变量呢?

第一种:先声明变量,再给变量赋值

///1.声明一个变量
var name;    //这时候没有给他值,默认值是null

///2.给这个变量赋值
name = "张三";

第二种:不要那么复杂,声明的同时就赋值。

var name = "张三";

上面是不指定数据类型的声明方式,变量的类型根据变量的值自动推断。

也可以明确指定类型,来声明变量

String name;

name="张三";

//或者

String name = "张三"

这里我们提到了变量的类型,什么是类型呢?

简单来说:dart 是一门面向对象的语言,每个值都有各自的类型。

dart 常用的基础类型如下:

数字类型:Number(num,int,double); 

布尔类型:Boolean;

字符串类型:String;

数组类型:List;

字典类型:Map;

这些内容后面我们再说!

也就是我们声明一个变量的时候,他都是有自己的类型的,上面的 name 变量的类型就是 字符串(String),类型的确定,要么内部推定,要么主动明示。

什么是常量?

下面我们再说一个特殊的变量,一个值不可变的变量,即:常量。

声明常量我们用到的关键字 是:final  和 const

final name1 = "张三";

const name2 = "李四";

顾名思义,常量是不可改变的。

final 和 const 的区别?

1.值的分配时机不同,const 变量的值是编译时分配;⽽ final 变量的值是运⾏时分配。

const 变量我们编写代码的时候,就该明确它的值;final 变量可以在代码运行时确定值;

const time = DateTime.now(); // 报错 - 因为编写代码的时候,值没有确定

final time = DateTime.now(); // 成功 - 可以将运⾏时的值分配给 final 变量

2.const 变量其内部成员的值也都是不可变的;final 变量其内部的成员是可变的;

void main() {
 const list = [1, 2, 3,4];
 list[0] = 100; // 修改内部成员的值
 print(list); // 报错
}
void main() {
 final list = [1, 2, 3,4];
 list[0] = 100; // 修改内部成员的值
 print(list); // 不报错
}

例子里我们举了一个数组的例子,零基础的同学,可以先跳过,暂时不作理解也可!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值