据我所知,对于静态类型,数据类型在编译时已知,对于动态类型,数据类型在运行时已知/评估。
Dart文档()说dart是一种静态类型的语言-
Q. Is Dart a statically typed language?
Yes, Dart 2 is statically typed. For more information, read about Dart’s type system.
With its combination of static and runtime checks, Dart has a sound type system, which guarantees that
试着在Dart中对Uint32进行位移位。如果没有飞镖的支持,该如何处理?
import 'dart:ffi';
Uint32 len = 0 as Uint32;
len >>= 1; // will not be compiled
用“正常”的int试试。但恐怕每次使用Uint32的结果都是一样的吗?
我不明白Null在Dart是什么。
在C#语言中,null是一个文字。null是引用类型变量的默认值。
null in C#没有任何类型。不可能通过点null访问.的成员。
示例:
String s = null; // the default value of reference-type variable
null.GetType(); // Operator '.' cannot be applied to operand of the type <null>
在Dart中,null有一个类型Null。但是Dart中的Null类型的实例不是bottom类型。
我有一个通用的StatefulWidget类,它有一个Function回调。当我试图调用那个回调时,我会得到一个运行时TypeError
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building MyStatefulWidget<int>(dirty, state:
MyState<int>#cacb3):
type '(int)
我很难理解Dart中的泛型和文档是如何帮助我的。
如果我创建了一个名为Checker的类,需要以某种方式存储它的泛型参数,我可以这样做(因为Dart有reified泛型):
class A {}
class B extends A {}
class Checker<T> {
bool test(dynamic a) {
return a is T;
}
}
main() {
print(Checker<A>().runtimeType);
print(Checker<B>().runtimeType);
print(Che
我开始学习Dart,并在这里阅读了一篇关于它的一些设计选择的评论:
最后一点是关于糟糕的类型系统,作者引用了这个打印null的代码片段。
void main() {
String s = null;
if (s is String) {
print("string");
} else if (s is Null) {
print("null");
} else {
print ("none");
}
}
is关键字对我来说是新的,但是Gilad的“Dart编程语言”指出,is检查对象类实现的接口,而不是
我想使用包来管理我的路由,但是在安装和配置它之后,我无法运行我的应用程序并在控制台上接收以下错误。
: Error: Property 'window' cannot be accessed on 'WidgetsBinding?' because it is potentially null.
../…/provider/auto_route_information_provider.dart:20
- 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart&
我是dart的新手,我环顾四周,我看不到任何基本选项的选择,例如在TypeScript中。 请查看注释属性。‘'username’。 我定义了我的模型。 type User {
uid: string,
// Not chosen yet. The team knows this might be null from the '?' Might never be chosen.
username?: string
accountType: 'email'|'facebook' // Also no uni
已将flutter项目中的vector_math依赖项更新为最新版本(2.1.0),项目现在无法生成,并返回错误: The argument type 'Vector2 (where Vector2 is defined in /mnt/data/work/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.0/lib/src/vector_math_64/vector2.dart)' can't be assigned to the parameter type 'Vector2 (where
我正试图跟随本教程。进展情况如下:
AssetNotFoundException: the_basics|lib/services/navigation_service.ddc.js
Error compiling dartdevc module:the_basics|lib/services/navigation_service.ddc.js
packages/the_basics/services/navigation_service.dart:12:38: Error: This expression has type 'void' and
can't be
我在将web_ui添加到现有的dart应用程序时遇到了问题。我甚至没有在我的html文件中添加任何特定于webui的代码,我只是尝试构建。
我将web_ui添加到pubspec.yaml并运行pub安装。
当我运行我的build.dart文件时,它生成:
Uncaught Error: type 'AttributeName' is not a subtype of type 'String' of 'name'.
这就是我的build.dart文件的样子(它位于我的项目的根dir中):
import 'package:web_ui/co
如何定义可为空的函数?对于颤振,我得到以下错误(InsertData是repository.dart中的函数):
lib/services/categoriesservices.dart:13:30: Error: Property 'InsertData' cannot be accessed on 'Repository?' because it is potentially null.
'Repository' is from 'package:sqflite2/repositories/repository.dart'
我用颤振编写了程序
我对_FutureBuilderState<WebViewController有错误
我想要做的是将重新加载按钮设置为FloatingActionButton
我想这个错误与将来的异步函数是相关的,但是我不知道该修复什么。
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _CastError was thrown building FutureBuilder<WebViewContr
我想在Dart中不使用dart:mirrors执行运行时子类型检查。
我的意思是,给定两种类型的A和B,或者作为带有Type类型的变量,或者作为泛型类上的类型参数(也就是说,要检查的变量是,使用List作为虚拟类,List<A>和List<B>),我想检查A是否是B的一个子类型。
下面是一些用dart:mirrors编写的代码,它们执行我想要的内容:
bool isSubtype(Type a, Type b) => reflectType(a).isSubtypeOf(reflectType(b));
// OR
bool isSubType<A, B
我想知道为什么下面的代码将test的每个字母打印在上,并在终端上抛出一个异常。我的意思是,Dart中的String不是Iterable的,所以我不明白这是如何在DartPad上工作的;我也希望在那里有一个例外。有什么想法吗?
void main() {
var test = 'test';
for (var t in test) {
print(t);
}
}
我用Dart 1.14.0测试了这一点,但这也发生在以前的版本中。
我正在学习Dart,并且正在阅读这篇文章,这篇文章告诉我,当我的对象与JSON相互转换时,我可以获得有关类型检查的帮助。我使用了他们的代码片段,但最终得到了编译器警告。我发现讨论了同样的问题,答案是使用@proxy注释并实现noSuchMethod。这是我的尝试:
abstract class Language {
String language;
List targets;
Map website;
}
@proxy
class LanguageImpl extends JsonObject implements Language {
LanguageImpl();
我是新来的。显然,Image有不同的类。我正在做的是:
import 'package:image/image.dart'; // Image Class 1
import 'package:flutter/src/widgets/image.dart'; // Image Class 2
我已经使用Image Class 2加载了一个资产映像。我不知道如何将其转换为Image Class 1,反之亦然。Image Class 1有两个构造函数,Image.fromBytes(...)和Image.from(Image other),但另一个类不提供图像的字节数
所以我将一个项目切换到flutter null安全,但是我让Null check操作符用于一个空值错误,我尝试过寻找其他类似的issue,但它对我不起作用,完整的错误如下 The following _CastError was thrown building HomeBanner(dirty, dependencies: [MediaQuery, _InheritedProviderScope<HomeViewModel>], state: _HomeBannerState#2de56):
Null check operator used on a null value
Th