Flutter / Dart中单引号和双引号之间的区别

时间:2019-01-03 00:28:27

标签: string dart flutter

我知道单引号和双引号在Dart中至少具有某种程度的对等性。例如,

var myString = "Hello world";      // double quotes

var myString = 'Hello world';      // single quotes
据我所知,

在程序上没有区别。

我不断看到它们在各种示例和某些文档中似乎可以互换使用。我想知道我是否缺少细微的差别,或者是否有推荐的风格可以遵循,尤其是在Flutter中。

这是阅读Flutter和Dart风格指南后的问答环节。

1 个答案:

答案 0 :(得分:10)

单引号和双引号都可以在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在此问题上似乎保持沉默。