邢台做移动网站公司电话号码,手机网站建设网,增城区建设局网站,WordPress二次元免费模板Flutter基础
第六章 Flutter关键字var、final、const、late的区别与使用 文章目录Flutter基础前言一、var1.var是什么?2.var如何使用3.var自动推断类型4.var可以再次赋值5.var指定类型二、final1.final是什么?2.final声明但不赋值3.final赋值多次4.final正常使用三、const1.…Flutter基础
第六章 Flutter关键字var、final、const、late的区别与使用 文章目录Flutter基础前言一、var1.var是什么?2.var如何使用3.var自动推断类型4.var可以再次赋值5.var指定类型二、final1.final是什么?2.final声明但不赋值3.final赋值多次4.final正常使用三、const1.const是什么?2.const声明但不赋值3.const赋值多次4.const正常使用三、late1.late是什么?2.late声明但不赋值3.const赋值多次4.const正常使用总结前言
在使用flutter开发已经有一段时间了在之前都是快速开发没有时间去复盘自己的知识体系现在就从flutter的基本语法开始一步步分析flutter涉及到的细节问题希望对你有所帮助。 一、var
1.var是什么?
var就是定义变量的意思。var定义的变量会自动推断类型dart 中使用 var声明变量可以赋值不同类型的值会自动推断变量的类型。var 声明的变量如果没有初始化那么它的值是nil
2.var如何使用
var 声明的变量如果没有指定类型是一个dynamic动态类型
var a;
print(打印${a.runtimeType});//打印Nullvar b;
b hello world;
print(打印$b);//打印hello world
print(打印${b.runtimeType});//打印String3.var自动推断类型
var b;
b true;
print(打印$b); //打印true
print(打印${b.runtimeType}); //打印bool4.var可以再次赋值
本来是bool类型的后面变成了int类型
var b;
b true;
print(打印$b); //打印true
print(打印${b.runtimeType}); //打印boolb 100;
print(打印$b); //打印100
print(打印${b.runtimeType}); //打印int5.var指定类型
在声明时候就赋值则相当于指定类型如果再赋值其他类型会报错
var b 100;
b true;//Error: A value of type bool cant be assigned to a variable of type int.b true;print(打印$b); //打印true
print(打印${b.runtimeType}); //打印bool
二、final
1.final是什么?
使用final声明的变量它只能赋值一次。final修饰的是一个最终的变量不能再次赋值否则会报错可以先声明再次赋值但是只能赋值一次
2.final声明但不赋值
final声明的变量如果不赋值则无法使用如runtimeType等方法。
final a;//The final variable a cant be read because its potentially unassigned at this point
print(打印${a.runtimeType});//报错3.final赋值多次
final声明的变量不能多次赋值否则报错。
final a;
a 100;
a hello world;//Final variable a might already be assigned at this point.a hello world;
print(打印${a.runtimeType}); //4.final正常使用
final a 100;
print(打印$a); //打印100
print(打印${a.runtimeType}); //打印int三、const
1.const是什么?
const修饰常量声明的时候就得赋值这也是和变量最大的区别
2.const声明但不赋值
声明不赋值会报错
///lib/modules/dart/xxx.dart:20:11: Error: The const variable a must be initialized.
/// Try adding an initializer ( expression) to the declaration.
/// const a;
const a;
print(打印$a); //打印100
print(打印${a.runtimeType}); //打印int3.const赋值多次
final声明的变量不能多次赋值否则报错。
///Error: Cant assign to the const variable a.
/// a 200;
const a 100;
a 200;
print(打印$a); //打印100
print(打印${a.runtimeType}); //打印int4.const正常使用
const a 100;
print(打印$a); //打印100
print(打印${a.runtimeType}); //打印int三、late
1.late是什么?
Dart 2.12引入了late修饰符显式声明一个非空的变量但不初始化如果不加late关键字类实例化时此值是不确定的无法通过静态检查加上late关键字可以通过静态检查但由此会带来运行时风险延迟初始化变量。如果这个变量没有被使用的话就不会被初始化初始化语句不会执行。
2.late声明但不赋值
声明不赋值会报错
///Error: Late variable a without initializer is definitely unassigned.
/// print(打印${a.runtimeType}); //打印int
late int a;
print(打印$a); //打印100
print(打印${a.runtimeType}); //打印int3.const赋值多次
已经指定了类型不能赋值别的类型
late int a;
a 100;
a 300;
print(打印$a); //打印300
print(打印${a.runtimeType}); //打印int4.const正常使用
late int a;
a 100;
print(打印$a); //打印100
print(打印${a.runtimeType}); //打印int总结
以上就是今天要讲的内容本文仅仅简单介绍了var、final、const、late的使用。希望文章对你有所帮助后续继续完善。