美文网首页
06Dart:const和final

06Dart:const和final

作者: tanhh | 来源:发表于2018-11-01 19:35 被阅读0次

const和final定义的都是常量,值不能改变 ,并且在声明的时候就必须初始化

如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。一个 final 变量只能被初始化一次; const变量是一个编译时常量,(Const变量是隐式的final),final的顶级或类变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,建议指定数据类型。被 final 或 const 修饰的变量无法再去修改其值。flnal 或者 const 不能和 var 同时使用,常量如果是类级别的,请使用 static const

差别:

const定义的是编译时常量,只能用编译时常量来初始化,const关键字不只是声明常数变量,您也可以使用它来创建常量值,以及声明创建常量值的构造函数,任何变量都可以有一个常量值。

final定义的常量可以用变量来初始化,被final修饰的顶级变量或类变量在第一次声明的时候就需要初始化

final time = new DateTime.now();//Ok

const time = new DateTime.now();//Error,new DateTime.now()不是编译时常量const常量

var、final等在左边定义变量的时候,并不关心右边是不是常量

但是如果右边用了const,那么不管左边如何,右边都必须是常量

const list = const[1,2,3];//Ok

const list =[1,2,3];//Error

final list =[1,2,3];//Ok

final list = const[1,2,3];//Ok

在常量表达式中,该运算符的操作数必须为'bool'、'num'、'String'或'null', const常量必须用conat类型的值初始化。

相关文章

  • 06Dart:const和final

    const和final定义的都是常量,值不能改变 ,并且在声明的时候就必须初始化 如果您从未打算更改一个变量,那么...

  • 二、Dart

    1、dynamic 动态2、final 最终的 const 常量 var变量final和const的区别...

  • dart注意点记录

    const 和final : const变量是编译时常量(const变量隐式为final变量),它在编译过程中初始...

  • final 和 const

    const 具有传递性,当一个对象被定义为const时,它的子元素也不能修改。比如数组。final没有传递性。co...

  • Flutter第3天-Dart语言

    1.const 和 final区别1.圆的周长 const PI = 3.141592654; //const:编...

  • flutter 基础二

    1.const与final的区别 const初始化的时候必须要赋值,final可以不赋值 const与final初...

  • Dart学习笔记——基础

    1、定义常量 Dart 常量:final 和 const修饰符 const值不变 一开始就得赋值。 final 可...

  • Dart 基本语法

    Final以及Const 在 Dart 中使用 final 以及 const 关键字来申明常量。使用 const ...

  • Dart - 类型声明(final和const)

    如果你不想更改变量的值,那么你可以用 final 和 const: 需要注意的点 使用 final 和 const...

  • Dart关键字final和const

    dart官网定义:final和const使用过程中从来不会被修改的变量, 可以使用final或const, 而不是...

网友评论

      本文标题:06Dart:const和final

      本文链接:https://www.haomeiwen.com/subject/txztxqtx.html