最近刚开始学习dart和flutter,在看语法的时候,看到了final和const这两个关键字,含义比较像,开始不是十分理解他们的用途和区别。在这好好梳理一下。
一、相同点
1.声明时必须要赋值
2.只能在初始化赋值一次,之后不能重新赋值
这和js中的const很像
3.后面都不能接var关键字
4.类型声明可以忽略
类似 var,可以根据初始化的值推断出变量类型(也许这就是不能和var 同时使用的原因?)
二、不同点
1.final变量的初始值可以在编译时确定,也可以在运行时确定,cosnt变量的初始值只能是编译时确定的值,比如当前时间