Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >dart中const与final的区别

dart中const与final的区别

原创
作者头像
挥刀北上
修改于 2021-01-05 02:22:58
修改于 2021-01-05 02:22:58
2.3K00
代码可运行
举报
文章被收录于专栏:Node.js开发Node.js开发
运行总次数:0
代码可运行

如果你想定义不可变的变量,则需要在定义变量前加上 final 或 const 关键字:const,表示变量在编译期间即能确定的值;final 则不太一样,用它定义的变量可以在运行时确定值,而一旦确定后就不可再变。声明 const 常量与 final 常量的典型例子,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

final name = 'Andy';
const count = 3;

var x = 70;  
var y = 30;
final z = x / y;
main(){
print(z);
}

上面的代码不会报错,再看如下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
final name = 'Andy';
const count = 3;

var x = 70;  
var y = 30;
const z = x / y;
main(){
print(z);
}

上面的代码会报错,报错信息如图:

代码执行结果
代码执行结果

从上图我们可以看出,变量允许出现在const的定义中。

运行结果
运行结果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Dart语言解密】想要深入了解Dart语法和类型变量吗?
快来读读这篇文章吧!本文从Dart信息表示的角度出发,详细讲解了Dart的基础语法和类型变量。通过本文的学习,你将会对Dart语言有更深入的认识和理解,更好地掌握Dart的开发技巧和实践应用。快来一起解密Dart语言吧!
JavaEdge
2023/07/09
3440
【Dart语言解密】想要深入了解Dart语法和类型变量吗?
Flutter —— 解密dart语法
Flutter配置完之后,就可以在Android studio 创建 Flutter项目啦
CC老师
2022/01/14
8230
Flutter —— 解密dart语法
Java 中接口和抽象类的 7 大区别!
Java 是一门面向对象的编程语言,面向对象的编程语言有四大特征:抽象、封装、继承和多态。 而本文介绍的接口和抽象类就是面向对象编程中“抽象”的具体实现,也就是说接口和抽象类都是用来定义实体类的公共行为的,它们是对实体类(对象)更高层次的抽象。​
磊哥
2021/12/27
1.6K0
Java 中接口和抽象类的 7 大区别!
Dart 中final和const的使用详解 原
----final:只能被设一次值,在声明处赋值,值和普通变量的设值一样,可以是对象、字符串、数字等,用于修饰值的表达式不变的变量;
南郭先生
2018/08/14
1.2K0
Dart的语法详解系列篇(二)-- 类与函数八、Dart的类与函数
上一篇主要讲了数据类型、运算符、流程语句等,由于文字太多,我就把剩下的内容分开写一篇文章。 这一篇我们讲Dart的类与函数,内容较多,希望大家可以耐心看完。我也是花了很长时间研究的。喜欢的九点个赞,打个赏吧。 感谢大家支持。
AWeiLoveAndroid
2019/01/03
3.1K0
Dart中final和const的异同点
因此,如果常量值在编译的时候就已经确定,运行时也不会改变,那么使用const和final均可;如果常量值在运行的时候才会确定(比如调用一个方法来给常量赋值),那么就必须使用final,不可以使用const。
拉维
2019/08/12
5460
Dart 点将台 | const 关键字知多少
80% 的人对 const 的认知,只停留在 const 修饰的量不可以被修改,这一条。 甚至有些人对什么时候可以用 const 修饰还比较模糊。首先看一下内置的类型变量对象的构造,如 int 、double、String,这些类型的对象可以使用 const 修饰。一旦被 const 修饰的量,就无法再做更改。
张风捷特烈
2022/05/09
6590
Dart 点将台 |  const 关键字知多少
Dart 学习之开发语言概览,带思维导图(二)
在生成的文档中,[Food] 会成为一个链接,指向 Food 类的 API 文档。
siberiawolf
2020/03/24
1.8K0
Dart 学习之开发语言概览,带思维导图(二)
Flutter技术与实战(3)
Dart语言基础 Dart语言基础 基础语法与类型变量 Dart初体验 Dart的变量与类型 num、bool与String List与Map 常量定义 流程控制语法 函数、类与运算符 函数 类 类的定义和初始化 复用 运算符 综合案例 案例介绍 类抽象改造 方法改造 对象初始化方式的优化 完整代码 基础语法与类型变量 Dart初体验 printInteger(int a) { print('Hello world, this is $a.'); } main() { var num
八归少年
2022/06/29
2.1K0
ES6语法学习(let与var区别、块级作用域、const命令)
下面的代码中,变量i是var声明的,所以i是一个全局变量在全局范围内都有效,所以全局只有一个变量i,每一次循环i的值都会发生改变,被赋给数组a的函数内部的console.log(i)中的i指向全局的i,因此所有数组a的成员中的i指向的都是同一个i,导致运行时输出的是最后一轮的i值10
帅的一麻皮
2020/06/21
1.2K0
Dart语言详解(二)——基本语法
文档归档: https://github.com/yang0range/flutterfile
Demo_Yang
2020/03/11
1.3K0
第117期:Dart的基本知识(变量的声明)
我们不必在声明局部变量的地方对其进行初始化,但需要在使用它之前为其赋值。例如,以下代码是有效的,因为Dart可以在传递给print()时检测到lineCount为非空:
terrence386
2022/12/14
9980
第117期:Dart的基本知识(变量的声明)
上手指南 | Dart,随用随查
dynamic:该类型具有所有可能的属性和方法,一个变量被 dynamic 修饰,相当于告诉系统,我知道这个类型到底是什么。使用后再编译时不会推断数据的类型,但是运行时会推断。
345
2022/02/11
1.8K0
上手指南 | Dart,随用随查
let 和 const 命令
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效(块级作用域)。
小小杰啊
2022/12/21
9840
C++:22 再议const的作用(上)
(3)可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。同宏定义一样,可以做到不变则已,一变都变
用户3479834
2021/02/03
8890
Java中final、finally、finalize的区别与用法
1.简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。 2.中等区别: 虽然这个单词在Java中都存在,但是并没太多关联: final:java中的关键字,修饰符。 A).如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个类不能同时被声明为abstract抽象类的和final的类。 B).如果将变量或者方法声明为final,可以保证它们在使用中不被改变.   1)被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。   2)被声明final的方法只能使用,不能重载。 finally:java的一种异常处理机制。   finally是对Java异常处理模型的最佳补充。finally结构使代码总会执行,而不管无异常发生。使用finally可以维护对象的内部状态,并可以清理非内存资源。特别是在关闭数据库连接这方面,如果程序员把数据库连接的close()方法放到finally中,就会大大降低程序出错的几率。 finalize:Java中的一个方法名。 Java技术使用finalize()方法在垃圾收集器将对象从内存中清除出去前,做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没被引用时对这个对象调用的。它是在Object类中定义的,因此所的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 3.详细区别: 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生兄弟一样,但是它们的含义和用法却是大相径庭。 final关键字我们首先来说说final。它可以用于以下四个地方: 1).定义变量,包括静态的和非静态的。 2).定义方法的参数。 3).定义方法。 4).定义类。 定义变量,包括静态的和非静态的。定义方法的参数 第一种情况: 如果final修饰的是一个基本类型,就表示这个变量被赋予的值是不可变的,即它是个常量; 如果final修饰的是一个对象,就表示这个变量被赋予的引用是不可变的 这里需要提醒大家注意的是,不可改变的只是这个变量所保存的引用,并不是这个引用所指向的对象。 第二种情况:final的含义与第一种情况相同。 实际上对于前两种情况,一种更贴切的表述final的含义的描述,那就是,如果一个变量或方法参数被final修饰,就表示它只能被赋值一次,但是JAVA虚拟机为变量设定的默认值不记作一次赋值。被final修饰的变量必须被初始化。初始化的方式以下几种: 1.在定义的时候初始化。 2.final变量可以在初始化块中初始化,不可以在静态初始化块中初始化。 3.静态final变量可以在定义时初始化,也可以在静态初始化块中初始化,不可以在初始化块中初始化。 4.final变量还可以在类的构造器中初始化,但是静态final变量不可以。 通过下面的代码可以验证以上的观点:
用户7886150
2021/04/07
3720
老司机用一篇博客带你快速熟悉Dart语法
版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/3d927a7bf020
AWeiLoveAndroid
2018/09/03
3.4K0
var let 以及 const区别和用法(详解)
在ES5中,声明变量只有var和function两种形式。但是因为var声明的变量会有一定的缺点(内层变量可能覆盖外层变量的问题以及用来计数的循环变量泄露为全局变量),ES6提出了使用let和const声明变量,更加安全方便的提供我们声明变量。
玖柒的小窝
2021/11/03
7180
var let 以及 const区别和用法(详解)
Dart的变量常量
在 Dart 中,final 和 const 都用于定义不可变的变量,但它们的使用场景和含义有所不同:
杨不易呀
2023/12/13
2460
Dart的变量常量
Dart语言基础语法(一)
前言 环境准备 安装Dart SDK 配置环境变量 配置 VSCode 编辑器 测试环境 基础语法 代码注释 内置数据类型 变量与常量 定义变量 定义常量 内置类型的常用操作 数值类型 字符串 布尔类型 列表 映射 函数 定义函数 函数的参数 命名可选参数 位置可选参数 匿名函数 箭头函数 运算符 算术运算符 类型判定运算符 条件表达式 级联运算符 条件成员访问符 分支与循环 条件分支 循环语句 基本循环 特有循环 Flutter课程已上线 Flutter 全栈开发之Dart编程指南 https://
arcticfox
2019/09/17
2.6K0
Dart语言基础语法(一)
相关推荐
【Dart语言解密】想要深入了解Dart语法和类型变量吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验