相关疑难解决方法(0)

"const"和"val"有什么区别?

我最近读过这个const关键字,我很困惑!我找不到它和const关键字之间的任何区别,我的意思是我们可以使用它们来制作一个不可变的变量,还有什么我不知道的吗?

constants kotlin

231
推荐指数
10
解决办法
3万
查看次数

Dart中"var"和"dynamic"类型的区别?

根据这篇文章:

您可能知道,dynamic(因为它现在被称为)是未提供静态类型注释时的替身类型.

那么,dynamic和之间有什么区别var?什么时候用?

dart

39
推荐指数
7
解决办法
1万
查看次数

Dart中使用的"const"关键字是什么?

有人可以向我解释如何/何时/为何使用const关键字,或者它只是"声明一个常量变量的方式"?如果是这样,这有什么区别:

int x = 5;
Run Code Online (Sandbox Code Playgroud)

const int x = 5;
Run Code Online (Sandbox Code Playgroud)

你能问我一个例子吗?

dart

15
推荐指数
1
解决办法
5775
查看次数

Dart 中 static 变量和 const 变量的区别

检查这两个例子:

static const课堂内:

class SessionStorage {
  static const String _keySessionExist = 'storage.key';
}
Run Code Online (Sandbox Code Playgroud)

只是const课堂之外:

const String _keySessionExist = 'storage.key';

class SessionStorage {

}
Run Code Online (Sandbox Code Playgroud)
  • static const在类内部使用变量或在类外部将其声明为 const 之间有什么区别或含义吗Dart
  • 也许编译后的代码发生了变化?
  • 哪一个性能更好?
  • 如果变量是文件私有的,我们应该遵循哪一个?

compilation constants dart flutter

9
推荐指数
1
解决办法
9044
查看次数

带有const关键字的Flutter变量

在Flutter文档的“编写您的第一个应用程序”教程中,步骤4名为“步骤4:创建无限滚动ListView”,要求您创建2个变量,显示在此处:

class RandomWordsState extends State<RandomWords> {
  final _suggestions = <WordPair>[];

  final _biggerFont = const TextStyle(fontSize: 18.0);
  ...
}
Run Code Online (Sandbox Code Playgroud)

为什么const在第三行使用关键字?我来自C#和JavaScript背景,我不习惯在赋值语句的右侧看到它。我注意到,如果将其删除,它仍然可以按预期工作。您能以拉面语来解释为什么要使用它,什么时候应该这样做?我猜想这太过分了,我不必使用它,但我只是想确定一下。

我不认为这是重复的,因为这篇文章中的答案非常适合解释我的问题,而在另一篇文章中找不到,更不用说另一篇文章是两部分的问题,使用Google时没人会找到。

dart flutter

8
推荐指数
2
解决办法
5588
查看次数

在 dart 中将 `const` 值赋给 `final` 变量的目的是什么?

所以我正在为 Flutter 做第一个示例,在步骤 4:创建无限滚动 ListView下,

我遇到了这段代码:

class RandomWordsState extends State<RandomWords> {
  final _suggestions = <WordPair>[];

  final _biggerFont = const TextStyle(fontSize: 18.0);
  ...
} 
Run Code Online (Sandbox Code Playgroud)

但我发现下面这行有点诡异。

final _biggerFont = const TextStyle(fontSize: 18.0);
Run Code Online (Sandbox Code Playgroud)

const我的问题是,将ant 值赋给变量的目的是什么final

我知道

编译时常量是规范化的,即无论你写多少次const MyObj(0, 0),你都只创建一个对象。

这听起来可能很有用,但您可以简单地创建 const 变量来保存该值并使用该变量。

嗯,你不觉得这有点多余吗?我知道 Flutter 的开发人员想要创建一个编译时常量对象,但是嘿!您正在将该值分配给一个final变量。这在某种程度上是同一件事。

有什么想法吗?

更新

我用谷歌搜索了一些定义,我发现

const构造函数不能有主体,并且它的类不能有任何非最终字段

这就是我们使用关键字的原因吗const?因为如果您查看该类TextStyle的设计,您会发现他们在这里做了完全相同的事情。

dart flutter

5
推荐指数
2
解决办法
4472
查看次数

dart 中常量值有什么用?

如文档中所述:

\n\n
\n

const 关键字\xe2\x80\x99t 仅用于声明常量变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以有一个常量值。

\n
\n\n

有人可以解释一下常量值的使用吗?

\n

dart

5
推荐指数
2
解决办法
1437
查看次数

最终变量无法重新分配,但对象可以在 flutter 中发生变异

/sf/answers/3919309621/
\n评论:

\n
\n

“初始化后无法更改”是不明确的。最终变量不能重新分配,但对象可以改变。\xe2\x80\x93\njamesdlin\n2 月 19 日 17:43

\n
\n

/sf/answers/3530176121/

\n
\n

最终变量的值无法更改。最终修改变量

\n
\n

这两种说法是什么意思?请举例说明。

\n

dart flutter

2
推荐指数
1
解决办法
1716
查看次数

为什么final变量允许改变它的值?

void main() {
  final num = [];
  num.add(1);
  print(num);  
}
Run Code Online (Sandbox Code Playgroud)

输出

1
Run Code Online (Sandbox Code Playgroud)

如果final变量已初始化,则它无法更改,但为什么它允许我更改值,而不允许我像这样重新分配值num = 5;

dart

1
推荐指数
1
解决办法
793
查看次数

在Dart中,静态成员,最终成员和const成员在编译时有什么区别?

就像标题所暗示的那样,在Dart中,编译时的static,final和const有什么区别?

它们何时计算,何时为每种类型分配内存?大量使用静态变量会导致性能问题或OOM吗?

access-modifiers dart flutter

0
推荐指数
1
解决办法
965
查看次数