文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Flutter基础语法(六)var、final、const、late

2023-09-09 12:28

关注

Flutter基础

第六章 Flutter关键字var、final、const、late的区别与使用


文章目录


前言

在使用flutter开发已经有一段时间了,在之前都是快速开发,没有时间去复盘自己的知识体系,现在就从flutter的基本语法开始,一步步分析flutter涉及到的细节问题,希望对你有所帮助。


一、var

1.var是什么?

2.var如何使用

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

var a;print("打印==${a.runtimeType}");//打印==Nullvar b;b = "hello world";print("打印==$b");//打印==hello worldprint("打印==${b.runtimeType}");//打印==String

3.var自动推断类型

var b;b = true;print("打印==$b"); //打印==trueprint("打印==${b.runtimeType}"); //打印==bool

4.var可以再次赋值

本来是bool类型的,后面变成了int类型

var b;b = true;print("打印==$b"); //打印==trueprint("打印==${b.runtimeType}"); //打印==boolb = 100;print("打印==$b"); //打印==100print("打印==${b.runtimeType}"); //打印==int

5.var指定类型

在声明时候就赋值,则相当于指定类型,如果再赋值其他类型会报错

var b = 100;b = true;//Error: A value of type 'bool' can't be assigned to a variable of type 'int'.b = true;    print("打印==$b"); //打印==trueprint("打印==${b.runtimeType}"); //打印==bool

二、final

1.final是什么?

2.final声明但不赋值

final声明的变量,如果不赋值,则无法使用,如runtimeType等方法。

final a;//The final variable 'a' can't be read because it's potentially unassigned at this pointprint("打印==${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"); //打印==100print("打印==${a.runtimeType}"); //打印==int

三、const

1.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"); //打印==100print("打印==${a.runtimeType}"); //打印==int

3.const赋值多次

final声明的变量,不能多次赋值,否则报错。

///Error: Can't assign to the const variable 'a'.///     a = 200;const a = 100;a = 200;print("打印==$a"); //打印==100print("打印==${a.runtimeType}"); //打印==int

4.const正常使用

const a = 100;print("打印==$a"); //打印==100print("打印==${a.runtimeType}"); //打印==int

三、late

1.late是什么?

2.late声明但不赋值

声明不赋值会报错:

///Error: Late variable 'a' without initializer is definitely unassigned.///     print("打印==${a.runtimeType}"); //打印==intlate int a;print("打印==$a"); //打印==100print("打印==${a.runtimeType}"); //打印==int

3.late赋值多次

已经指定了类型,不能赋值别的类型

late int a;a = 100;a = 300;print("打印==$a"); //打印==300print("打印==${a.runtimeType}"); //打印==int

4.late正常使用

late int a;a = 100;print("打印==$a"); //打印==100print("打印==${a.runtimeType}"); //打印==int

总结

以上就是今天要讲的内容,本文仅仅简单介绍了var、final、const、late的使用。希望文章对你有所帮助,后续继续完善。

来源地址:https://blog.csdn.net/smileKH/article/details/129166883

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯