我知道单引号和双引号在 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 style guide建议对所有内容使用单引号
final myString = 'hello';
嵌套字符串除外
print('Hello ${name.split(" ")[0]}');
或包含单引号的字符串(可选)
final myString = "Bob's dog";
final myString = 'Bob\'s dog'; // ok
Dart style guide似乎对这个问题保持沉默。
关于string - Flutter/Dart 中单引号和双引号的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54014913/