gpt4 book ai didi

class - 无类 Dart 文件的目的是什么?

转载 作者:行者123 更新时间:2023-12-03 04:10:14 25 4
gpt4 key购买 nike

我想知道为什么会有没有类的.dart文件。有什么好处吗?

例如:

import 'package:http/http.dart' as http;

您必须使用“as”引用它,然后可以像这样使用它:
 response = await http
.post(
url,
headers: header,
body: dataToSend,
)

请认为我是基础的Flutter开发人员,答案可能在网站上。

最佳答案

Dart库可以包含类和其他顶级声明,这与Java不同,例如Java中,类是唯一允许的顶级声明,而所有其他声明都在类内部。

对于仅导出非类声明的库,没有什么神奇的。这只是一个图书馆。
您不必导入带有前缀的此类库(例如as http),也可以直接导入它,然后可以引用不带前缀的导入名称:

import "package:http/http.dart";
...
response = await post(url, headers: headers, body: dataToSend);

同样,带有类的库也可以使用前缀导入:
import "dart:convert" as convert;
...
Uint8List utf8 = ...;
String result = convert.utf8.decode(utf8);

这样可以避免名称冲突,例如此处的 utf8名称。
实际上, package:http/http.dart库确实会导出 classes,例如 ResponseClient

唯一的区别是,打算使用前缀导入的库可以选择为其顶级成员使用更短的名称,而不会冒冲突或歧义的风险。因为将始终在该前缀附近使用该名称,所以从库导出的名称中不必包含该前缀的额外上下文。

上面的 post可能与其他名为 post的事物发生冲突,但是 http.post明确表明了我们正在谈论的是哪种 post

关于class - 无类 Dart 文件的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58852205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com