首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Dart中创建“常量引用”getter?

在Dart中,可以使用const关键字来创建常量引用getter。常量引用是指在编译时就确定并且不可修改的值。下面是创建常量引用getter的步骤:

  1. 首先,定义一个类或者一个顶级函数,用于包含常量引用getter。
  2. 在getter前面加上const关键字,表示这是一个常量引用。
  3. 在getter的实现中,返回一个常量值。

以下是一个示例代码,展示了如何在Dart中创建常量引用getter:

代码语言:txt
复制
class Constants {
  static const int myConstant = 42;
  
  static const double get myConstantGetter => 3.14;
}

void main() {
  print(Constants.myConstant); // 输出:42
  print(Constants.myConstantGetter); // 输出:3.14
}

在上面的示例中,Constants类包含了一个常量引用myConstant和一个常量引用gettermyConstantGetter。通过使用const关键字,我们可以在编译时就确定这些常量的值,并且无法修改。

对于常量引用getter,我们可以直接通过类名和getter名称来访问它们,就像访问静态成员一样。在上面的示例中,我们通过Constants.myConstantConstants.myConstantGetter来访问常量引用和常量引用getter。

请注意,常量引用getter只能返回常量值,不能执行任何计算或逻辑操作。如果需要在getter中执行复杂的计算,可以考虑使用普通的getter方法。

关于Dart的更多信息,您可以参考腾讯云的Dart开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Dart语言指南(二) 顶

要使用常量构造函数创建编译时常数,请使用const 代替 new: var p = const ImmutablePoint(2, 2); 构造两个相同的编译时常量导致一个单一的规范的实例: var a...Note: 运算符(++)以预期的方式工作,无论是否明确定义了getter. 为了避免任何意外的发生,操作符只调用一次getter,将其值保存在临时变量....这样你,你的同行程序员和你的工具(IDE和Dart VM在检查模式下)可以检测到将非字符串分配给列表可能是一个错误。...您可以在库多次调用loadLibrary() ,而不会出现问题。 该库仅加载一次. 使用延期加载时,请记住以下几点: 延迟库的常量不是导入文件常量。 记住,这些常量在加载延迟库之前不存在....元数据注解以字符 @开始,之后是对编译时常数(例如 deprecated)的引用或对常量构造函数的调用.

3.1K20

Dart语言进阶语法(二)

Getters 和 Setters方法 在Java,一般不会直接在类的外部去访问类成员,通常使用setter和getter方法来操作类的成员变量。...而在Dart语言中,所有类中都包含隐式的getter方法,对于非final修饰的成员,类还包含隐式的setter方法。这就意味着,在Dart,你可以直接在类外部通过.操作符访问类成员。...当然,很多时候我们调用setter和getter方法并不仅仅是为了赋值和访问,而是为了一些额外的处理,这时候我们只需要使用set与get关键字实现setter和getter方法即可。...常量构造方法 如果想提供一个状态永远不变的对像,在Dart,我们可以创建一个编译时常量对象,节省开销。...// 指定dart:前缀,表示导入标准库,dart:io import 'dart:math'; // 也可以用相对路径或绝对路径来引用dart文件 import 'lib/student/student.dart

1.7K20
  • Fluter 学习笔记 之 Dart 语言入门

    Dart number 类型分为 int 和 double ,其中 java 的 long 对应的也是 Dart 的 int 类型。Dart 没有 float 类型。...,"second":"Java"}; //构造创建 var lan = new Map(); 变量 Dart 不需要给变量设置 setter getter 方法, 这和 kotlin 等类似。...Dart final 和 const 表示常量,且只能被赋值一次,不能二次修改,比如 final name = ‘GSY’; const value= 1000000; 同时 static const...Dart 数组等于列表,所以 var list = []; 和 List list = new List() 可以简单看做一样。 方法 Dart 下 ?? 、??= 属于操作符,: AA ??...Dart 多构造函数,可以通过如下代码实现的。默认构造方法只能有一个,而通过Model.empty() 方法可以创建一个空参数的类,其实方法名称随你喜欢。

    66820

    Dart的语法详解系列篇(二)-- 类与函数八、Dart的类与函数

    ({'x': 1, 'y': 2}); 2.在Dart2创建对象时,new关键字可以省略。...3.编译时常量构造函数 要使用常量构造函数创建编译时常量,请将const关键字放在构造函数名称之前。...,并且在没有常量的情况下被调用,则会创建一个非常量对象: var a = const ImmutablePoint(1, 1); //创建一个常量 var b = ImmutablePoint(1,...1); // 不创建常量 assert(!...您可以使用静态方法作为编译时常量。例如,您可以将静态方法作为参数传递给常量构造函数。 (六)构造函数 通过创建一个与其类同名的函数来声明构造函数(另外,还有一个额外的标识符,命名构造函数中所述)。

    2.9K30

    『Flutter开发实战』一小时掌握Dart语言

    ,还可以用来创建 常量值,该常量值可以赋予给任何变量。...由于 Dart 每个变量引用都指向一个对象(一个 类 的实例),你通常也可以使用 构造器 来初始化变量。一些内置的类型有它们自己的构造器。例如你可以使用 Map() 来创建一个 map 对象。...备忘: 在使用 List 操作 Rune 的时候需要小心,根据所操作的语种、字符集等不同可能会导致字符串出现问题,具体可参考 Stack Overflow 的提问: [我如何在 Dart 反转一个字符串...版本提示: mixin 关键字在 Dart 2.1 才被引用支持。早期版本的代码通常使用 abstract class 代替。...在文档注释,除非用括号括起来,否则 Dart 编译器会忽略所有文本。使用括号可以引用类、方法、字段、顶级变量、函数和参数。括号的符号会在已记录的程序元素的词法域中进行解析。

    5.1K10

    Flutter Lesson 2: Dart 语法简单介绍

    重要的概念(重要) 在Dart,所有的能够使用变量引用的都是对象,每一个对象都有一个实例,包括但不限于数字,方法,字符串,null。所有的对象都集成于Object类。...这个需要注意,这个和JavaScript的变量还是有很大的差别的 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推断变量类型 Dart支持顶层方法(main方法),也支持类方法或对象方法...,同时你也可以在方法内部创建方法 Dart支持顶层变量,也支持类变量或对象变量 Dart的私有变量用_开头,有点像JS我们自定义函数的时候默认_开头的为私有变量 Dart变量可以以字母或下划线开头...因为前面我已以及说过了,Dart中所有的变量引用都是对象。...你可以通过实行 getter 和 setter 来创建新的属性, 使用 get 和 set 关键字定义 getter 和 setter: class Rectangle { num left;

    1.8K20

    Dart In Action -Dar的基本数据类型(一)

    num类型包括基本运算符,+, - ,/和*,也是你可以找到abs(),ceil()和floor()以及其他方法的地方。 (按位运算符,>>,在int类中有定义。)..."; 您可以使用${expression}将表达式的值放在字符串。 如果表达式是标识符,则可以跳过{}。 要获取对应于对象的字符串,Dart调用对象的toString()方法。...'; 有关如何在字符串中表示Unicode字符的详细信息,请参阅Runes。 文字字符串是编译时常量,只要任何插值表达式是一个编译时常量,其值为null或数值,字符串或布尔值。...在Dart,数组是List 对象,因此大多数人只是将它们称为列表。 Dart列表文字看起来像JavaScript数组文字。...2); list[1] = 1; assert(list[1] == 1); 要创建一个编译时常量的列表,请在列表文字之前添加const: var constantList = const [1,

    2.5K20

    从java到JavaScript(2):对比JavaGoSwiftRust看Dart

    其实对于Java开发人员来说Dart,还是相对好理解的基本语法对比:关键字在 Dart 没有诸如 public、private、protected 这样的关键词。...如果一个标识符以 (_) 开头,则该标识符 在库内是私有的Dart2,可以不使用new关键字创建,也可以使用。new关键词省略,对我个人来说,还设有强制new 顺心些。...变量Dart变量初始值为null,即使是int类型也是null。Dart支持自识别,可以是用var定义变量,也可以直接指定具体类型。...minix,对于前段,react与vue框架,对这个应该非常熟悉setter和getter很多语言里面,为了方便获取属性都提供了setter和getter。其实他就是个语法糖。直接使用就可以。...异步dart的异步和JavaScript ES6差不多,使用await和async,只不过ES6的Promise变成了Future。

    93810

    flutter--Dart基础语法(三)类和对象、泛型、库

    : 注意一:拥有常量构造方法的类,所有的成员变量必须是final修饰的....注意二: 为了可以通过常量构造方法,创建出相同的对象,不再使用 new关键字,而是使用const关键字 如果是将结果赋值给const修饰的标识符时,const可以省略. 2.2.6 工厂构造方法 Dart..._internal(this.name); } 2.3 setter和getter 默认情况下,Dart类定义的属性是可以直接被外界访问的。...标准版,比如dart:io、dart:html、dart:math、dart:core(但是这个可以省略) //dart:前缀表示Dart的标准库,dart:io、dart:html、dart:math...import 'dart:io'; 使用相对路径导入的库,通常指自己项目中定义的其他dart文件 //当然,你也可以用相对路径或绝对路径的dart文件来引用 import 'lib/student

    3.8K70

    为 JavaScript 开发人员准备的 Dart 参考教程

    常量和变量 变量 JavaScript var c = 1; c = 2; let a = 1; a = 2; Dart int a = 1; a = 2; var h = 1; h = 2; 常量 JavaScript...funcs = (){} 多数情况下 Dart 的函数和 JavaScript 的函数都有一样的特性,: 将函数当做参数进行传递 将函数直接赋值给变量 对函数进行解构,只传递给函数一部分参数来调用它,...让它返回一个函数去处理剩下的参数 创建一个可以被当作为常量的匿名函数 当你要使用一个非常简单的函数时,比如只返回一个字符串,它的表现形式和 JavaScript 的箭头函数非常的像; JavaScript...特性需要你在使用的过程慢慢学习了,比如: 抽象方法 抽象类 隐式接口 ......在我们使用 Flutter 的过程 @override 应该是我们使用的最多的特性之一;

    60220

    Dart 学习之开发语言概览,带思维导图(二)

    库和可见性 使用import关键字导入 dart内置库,使用dart:xxxx 其他库,package:xxxx 以下划线(_)开头的成员仅在代码库可见 每个 Dart 程序都是一个库,即便没有使用关键字...(Import only foo). import 'package:lib1/lib1.dart' show foo; // 导入 lib2 除了 foo 外的所有。...Person p = Person('tom', 12); print(p.name); // tom print(p.age); // 12 // 通过 类名.标识符 创建实例...Point.origin(int num) : this(num, 0); } 常量构造函数 属性用final定义为常量属性 构造函数用const定义为常量构造函数 void main(List...我是$name'; } 扩展一个类 使用extends来扩展一个类 使用super来引用一个父类 void main(List args) { Man man = Man();

    1.7K20

    第117期:Dart的基本知识(变量的声明)

    尽管Dart是强类型的,但类型注释是可选的,因为Dart可以推断类型。在上面的代码,number被推断为int类型。 如果启用null安全,变量不能包含null,除非我们说可以。...Dart支持泛型类型,List<int>(整数列表)或List<Object>(任何类型的对象列表)。 Dart支持顶级函数(main()),以及绑定到类或对象的函数(分别为静态和实例方法)。...还可以在函数(嵌套函数或局部函数)创建函数。 类似地,Dart支持顶级变量,以及绑定到类或对象的变量(静态变量和实例变量)。实例变量有时称为字段或属性。...变量 变量存储的是引用。 var name = 'Bob'; 变量name包含了一个对值为bob的string 对象的引用。 变量的默认值 未初始化的变量,包含了一个初始值为null的值。...您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以具有常数值。

    93620

    Dart语法基础系列七《类》

    dart 的类与其他语言差别不是很大,但是也有出入。 类属性 ---- 类里直接写属性是报错的,必须有默认值初始化或者构造函数赋值。...sex; Person(this.name, this.age, this.sex); } 命名构造函数 以 ClassName.identifier的方式创建,可以命名多种构造函数。...常量构造函数 如果该类生成的对象是固定不变的, 那么就可以把这些对象定义为编译时常量。 为此,需要定义一个 const 构造函数, 并且声明所有实例变量为 final。...true : false; } Getter 和 Setter Getter 和 Setter 是用于对象属性读和写的特殊方法。...回想之前的例子,每个实例变量都有一个隐式 Getter ,通常情况下还会有一个 Setter 。 使用 get 和 set 关键字实现 Getter 和 Setter ,能够为实例创建额外的属性。

    35510

    Flutter必备语言Dart教程03 - 类,泛型

    上篇我们学习了Flutter必备语言Dart教程02 - 控制流,异常,现在我们继续学习Dart的类和泛型。 Class类 以下是在Dart声明一个简单类,并创建它的实例的方法。 ?...向类添加实例变量,以及构造函数。 ? Dart提供了一种构造函数初始化的简洁语法。如下所示: ? 您所见,我们编写了一行构造函数,第一个参数值将设置为name,第二个参数值将设置为age。...这里我们创建两个命名构造函数,它们只有name参数,并调用默认的Pug构造函数。 方法 类的方法与Dart定义普通方法类似。 ? 覆盖方法也很简单。 ?...Getters & Setters 默认情况下,您在类定义的任何变量,只需引用对象上的变量名称即可访问,例如dog.name,对象变量也可以直接赋值。...但有时你想自定义属性的getter和setter,在Dart你可以使用 get 和 set 关键字来自定义getters和setters。 ?

    1.3K10
    领券