Dart 数据类型命名约定.. 为什么使用 String 而不是 string

2023-12-14

在 dart/Flutter 中,所有基本数据类型名称均以小写形式定义

  • int
  • bool
  • 双等..

那为什么字符串数据类型变成了String代替string ?


来自@Ahmed I. Elsayed提到的github问题,以下是@LRN提供的相关答案参考

真正的问题是,如果你想要一致性,那么为什么 int 不是 国际。 Dart 通常将类型大写,所以这里的例外不是 字符串,它是 int、double 和 bool(还有 void,但那不是 最初是一个真实类型)。

所以如果你想要一致性,我们应该将 int 设为 Int。或者也许它 甚至应该是 Integer,因为我们也不鼓励缩写。

在Java中,int是小写,Integer是大写,因为 前者是原始类型,后者是对象类型。飞镖确实 没有这种区别,我们的 int 是对象类型,所以我们没有 实际上有任何基于一致性的原因来使 int 变短并且 小写。

或者也许有一个原因:int、double 和 bool 实例是 自动规范化。你不能有两个 int 实例 相同的值但它们不相同。这是唯一的财产 Dart 取自 Java/C#/JavaScript 原始类型,并且它 不适用于字符串(就像 Java 和 C# 中的情况一样)。

Dart 出现这些异常(int、double 和 bool)的真正原因是 由于可用性、用户期望和 一致性。 Dart 被设计为一种实用语言。它值 一致性,但不惜任何代价。熟悉度/用户期望 目标通常受到 Java、JavaScript 和 C# 的影响,并且它是 考虑更好的可用性,使这些类型变得简短、易于识别 并且易于编写。

让 String 成为字符串似乎不是一个值得的权衡。它 如果我们使用字符串,可能会工作得很好 相反,但我们没有。我们现在不会改变这一点。

(如果我们得到通用类型别名,您可能可以定义自己的类型别名 typedef 字符串 = 字符串;。我恳求你不要这样做,因为它不会 提高代码的可读性。从历史上看,Java 的原因 没有类似 C 的#define 功能是明确的,因为 他们不希望人们用无数的私人方言写作 其他人无法阅读)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dart 数据类型命名约定.. 为什么使用 String 而不是 string 的相关文章

  • 如何在 Flutter 中显示 Android Activity?

    我目前正在开发一个在 flutter 中使用 Google Maps Api 的应用程序 由于支持不完整 我只能使用静态地图 点击它会导致 Android 活动没有用 我需要的是一张地图 我可以在其中搜索位置并向该位置添加标记 那么是否可以
  • Flutter无法解析符号“embedding”并且无法解析符号“FlutterActivity”

    mainactivity 中的 Flutter Android 项目文件夹中显示错误 package com malik database demo import io flutter embedding android FlutterAc
  • 最终变量是否有性能提升? [复制]

    这个问题在这里已经有答案了 是的 标题 写作时有什么区别 显然除了设计之外 final or not 对于 Flutter 中构建的应用程序 final 和 const 关键字都可以提高性能并减少 APK 大小 常量 Widget具有不同的
  • 意外的迭代器函数和 Iterable.take 行为

    我正在编写一个名为 批次 的简单函数 该函数应该将一个可迭代对象拆分为大小为 size 的可迭代对象的可迭代对象 然后我遇到了生成器函数和 Iterable take 方法的奇怪行为 当期望 知道 python 生成器行为时 这段代码 It
  • 如何围绕指定的锚点以 2D 方式旋转容器小部件?

    我想对容器小部件 包含一些其他小部件 执行非常简单的 2D 旋转 该小部件将围绕中心的单个固定点旋转 不会变形 我尝试使用transform财产与Matrix4 rotationZ 这有点起作用 但锚点在top left角落 不在cente
  • iOS 有 INTERNET 权限吗?

    我在 iOS 设备上的 flutter dio 包上遇到了一个奇怪的问题 我编写了一个向 url 发送 GET 请求的应用程序 Android 上一切正常 但 iOS 上的请求似乎无法通过 没有发生任何错误 什么也没有 我在 Android
  • 如何在flutter web中实现视频播放?

    我正在尝试在我的 flutter web 应用程序上播放 firebase 上托管的视频 我不明白这怎么可能 使用 flutter 原生 video player使用插件 但仅适用于 ios 和 android 有人可以告诉我是否可以将视频
  • 在 Flutter 中的组件顶部覆盖一条线

    I have the following layout in one of my components and would like to put a line on top of that like this 这是我当前的代码 并且已经在
  • 如何停止抖动中的计时器?

    我在 flutter 中创建了一个计时器 一切正常 现在我不知道如何在启动计时器后关闭它 文档说你可以通过调用取消它void cancel 但我不明白其实现 我该怎么称呼它 这是正确的方法吗 static const timeout con
  • logcat 信息出现在 Android Studio 的“运行”选项卡中

    我的 android studio 运行选项卡很简单 然后它变得更难并给我更多信息 例如 logcat 中的信息 如何禁用或删除第二张图片中出现的更多信息并返回到第一张图片中的第一个外观 我只需要正在运行的 flutter 应用程序的日志输
  • 将方法作为参数传递给小部件

    我有一个自定义按钮小部件 class Button extends StatelessWidget final String text Button this text override Widget build BuildContext
  • 在flutter中跟踪背景位置时使用background_locator插件时出现问题

    我正在尝试使用 flutter 跟踪后台位置 为此我正在使用背景定位器 https pub dev packages background locator插入 它的实现方式是注册某些静态回调函数 我声明了一个 File 类型的类变量来在后台
  • 颤振:flutter_markdown 字体大小

    使用 flutter markdown 时有什么方法可以改变文本的字体大小吗 就像向文本小部件提供 TextStyle 一样 谢谢 Markdown data html2md convert article content styleShe
  • 如何在 flutter/dart 中使用设定大小的自定义字体?

    我正在尝试使用color fontWeight and fontFamily with style style copyWith 我尝试使用的自定义字体是Vonique 我已经将它像这样导入到pubspec yaml fonts famil
  • 如何更改或替换 Flutter 中的 ImageCache?

    我想更改 Flutter 应用程序中 ImageCache 的行为 例如 我想尝试不同的驱逐策略 或者 我只是想要零缓存 用于实验 如何替换更改ImageCache 创建一个继承自 WidgetsFlutterBinding 的类 重写该类
  • Flutter 容器的 onTap 方法

    一直在开发一个 flutter 应用程序并根据一些 Firebase 数据动态构建一些容器 我想知道是否有办法获得容器的 onTap 方法 或任何不是按钮的小部件 这是一个代码示例 child new Container INSERT ON
  • 当 TextFormField 聚焦时如何隐藏错误外观

    我在用着TextFormField用于表单和自定义验证器方法返回错误消息 我试图隐藏默认错误消息和错误边框TextFormField当文本字段获得焦点时 TextFormField focusNode focusNode validator
  • 使用 Flutter Flavor 运行调试?

    我正在尝试在 Visual Studio 代码上为我的 flutter 应用程序运行调试模式 单击 运行和调试 但是当我这样做时 我面临以下问题 The Xcode project defines schemes release priva
  • Dart 客户端 HttpRequest 错误/身份验证处理

    我有一个 Dart 客户端和一个 Java 后端 我正在尝试增加应用程序的安全性 因此 Java 服务器要求用户在访问数据之前进行身份验证 如果传入 Web 服务调用并且用户未经过身份验证 则后端服务会将带有 HttpResponseCod
  • 是否可以从图像中获取图像 GPS 位置坐标?

    我正在构建一个 Flutter 应用程序 用户可以在其中发布照片及其位置 用户可以从相机或图库中获取图片 如果用户从相机拍照 我可以使用设备的 GPS 位置来设置图片的位置 我正在尝试根据图片的元数据获取图片的 GSP 位置 但是 我还没有

随机推荐