string - Flutter/Dart 中单引号和双引号的区别
问题描述
我知道单引号和双引号在 Dart 中至少具有某种程度的等价性。例如,
var myString = "Hello world"; // double quotes
和
var myString = 'Hello world'; // single quotes
据我所知,没有程序上的差异。
我一直看到它们在各种示例和一些文档中似乎可以互换使用。我想知道是否有我遗漏的细微差别,或者是否有推荐的风格可以遵循,尤其是在 Flutter 中。
这是阅读 Flutter 和 Dart 风格指南后的问答自我回答。
解决方案
单引号和双引号都可以在 Dart 中使用
final myString = 'hello';
是相同的
final myString = "hello";
分隔符需要转义
使用\
反斜杠转义单引号字符串中的单引号。
final myString = 'Bob\'s dog'; // Bob's dog
在双引号字符串中转义双引号也是如此。
final myString = "a \"quoted\" word"; // a "quoted" word
但如果分隔符不同,则无需转义。
final myString = "Bob's dog"; // Bob's dog
final myString = 'a "quoted" word'; // a "quoted" word
也无需担心传入内插字符串的值。
final value = '"quoted"'; // "quoted"
final myString = "a $value word"; // a "quoted" word
更喜欢 Flutter 中的单引号
Flutter 风格指南建议对所有内容使用单引号
final myString = 'hello';
嵌套字符串除外
print('Hello ${name.split(" ")[0]}');
或包含单引号的字符串(可选)
final myString = "Bob's dog";
final myString = 'Bob\'s dog'; // ok
Dart 风格指南似乎对这个问题保持沉默。
推荐阅读
- git - 为什么带有 SouceTree 的 WSL2 上的 Git 对我来说这么慢?
- python - Python内置模块和内置类型/函数之间有什么关系?
- python-3.x - 没有名为“openpyxl”的模块 - Python 3.8.2
- google-apps-script - 谷歌表格:隐藏多张表格中的行
- java - 我如何在 jpa 存储库中使用 jpa 内部提取连接?
- reactjs - 我可以在没有单击按钮的情况下在 reactjs 中打开 jw modal(从 jw-react-modal 导入)吗
- database - 如何保存数据的最新状态。并且只会在出现新的最新数据状态时自行更新
- eclipse - 我在 Eclipse 中使用 devstyle,它突出显示了不会执行的代码部分
- python - 在 Django Select 中限制外键选项
- python - 我如何制作我的橙色的 randomizefall python?