【Flutter】Dart语法之final

255 阅读2分钟
【Flutter】学习笔记——Dart中的finalvarconst的使用

关于【Flutter】的环境安装和配置,后面再补充。

在了解final之前,先看看 var的用法。

1. var

var:定义变量

void main() { 
    var a;//变量 
    print(a); 
}

打印的结果是 null。给 a 赋值再打印如下:

void main() { 
    var a;//变量
    a = "100";
    print(a); 
}

打印的结果是 100。给 a 再赋值再打印如下:

void main() { 
    var a;//变量
    a = "this is a !";
    print(a);
    a = "100";
    print(a);
}

image.png

var 声明的变量,没有指定类型,是一个动态类型!

image.png

如果b赋值了数字,就确定了类型,鼠标悬浮可以看到是 int类型!

image.png

2. final

使用final声明的变量,它只能赋值一次。

void main() { 
    final a = 10; 
    a = "hello"; 
}

运行结果如下:

image.png

final修饰的是一个最终的变量,不能再次赋值,否则会报错。也可以先声明再次赋值,但是只能赋值一次。

image.png

final声明的变量,不赋值是不可以使用的。

image.png

3. const

const修饰常量,声明的时候就得赋值,这也是和变量最大的区别!

void main() { 
    final a; 
    a = 9; 
    print(a); 
    const b; 
    b = 8; 
}

常量声明不赋值就会报错的,如下:

image.png

那么常量初始化赋值就不报错了,可以正常输出结果。

image.png

const常量也是不可以修改的,不可以再次的赋值。

image.png

4. 总结:
  • var声明变量,可以赋值不同类型的值,会自动推断变量的类型和swift中是一样的效果。
  • var声明的变量如果没有初始化,那么它的值是null
  • final适用声明的变量,以后不会改变的变量,也就类似一个常量的意思,它只能赋值一次。
  • final声明的变量,不赋值是不可以使用的。
  • const修饰常量,声明的时候就得赋值。
  • const常量也是不可以修改的,不可以再次的赋值。