用户登录

在 Dart 语言里,我们可以用 var, final 还有 const 声明变量。 在程序里能用 const 就用 const,不能用就用 final,实在不行再用 var 来声明变量。下面我们可以比较一下它们之间的区别。

先用 var 声明一个变量,名字是 book,给它提供一个 Map 类型的值,里面有个数据,名字叫 'title',对应的值是 '小白的开发之路'。

下面可以试一下重新分配 book 这个变量的值,book 等于一个新的 Map,它里面有个 title 数据,对应的值是 小白兔的开发之路。 然后用 print 输出这个 book。

运行一下程序,没有任何问题。因为用 var 声明的变量,分配了值以后,可以重新给它分配新的值。

final

下面把这个 var 换成 final 试一下,这次就不行了,提示 The final variable 'book' can only be set once. 这个用 final 声明的 book 变量,只能被设置一回。

注意掉这行重新分配值的代码,再这样试一下,修改 book 这个 Map 里的 title 数据的值, book 方括号 title,修改一下它的值,让它等于 小白兔的开发之路。 运行一下应用,没有任何问题,输出的这个 book 数据里面,title 这个数据的值变成了修改之后的 小白兔的开发之路。

也就是,final 这个关键词只限制重新分配这个动作,就是它限制的是变量本身。我们还是可以修改变量表示的值。

const

这次再把 final 换成 const 试一下,用 const 声明的变量,不能做重新分配的动作,也无法修改变量的值。运行一下这个程序,控制台上提示 Cannot set value in unmodifiable Map,不能设置无法修改的 Map 数据里面的值。

因为用 const 声明的变量的值是恒定不变的,也就是在程序里永远无法修改用它声明的变量的值。

对比 Dart 语言里的 var,final,const《 Dart 语言:数据类型 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点