我知道单引号和双引号在Dart中至少具有某种程度的对等性。例如,
var myString = "Hello world"; // double quotes
和
var myString = 'Hello world'; // single quotes
据我所知,在程序上没有区别。
我不断看到它们在各种示例和某些文档中似乎可以互换使用。我想知道我是否缺少细微的差别,或者是否有推荐的风格可以遵循,尤其是在Flutter中。
这是阅读Flutter和Dart风格指南后的问答环节。
答案 0 :(得分:10)
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 style guide建议对所有内容使用单引号
final myString = 'hello';
嵌套字符串除外
print('Hello ${name.split(" ")[0]}');
或包含单引号的字符串(可选)
final myString = "Bob's dog";
final myString = 'Bob\'s dog'; // ok
Dart style guide在此问题上似乎保持沉默。