内容

prefer_single_quotes

仅对包含单引号的字符串使用双引号。

此规则从 Dart 2.0 开始可用。

此规则具有可用的 快速修复

不兼容规则: prefer_double_quotes

细节

#

在不需要额外转义的情况下使用单引号。

这意味着包含撇号的字符串可以使用双引号,这样撇号就不会被转义(注意:我们不会反过来进行 lint,例如,包含转义撇号的单引号字符串不会被标记)。

这也很少见,但有可能在字符串插值中包含字符串。在这种情况下,在某个地方使用双引号会更具可读性。因此,双引号在插值字符串文字内部或包含插值字符串文字时都是允许的。可以说,在字符串插值中的字符串应该是其自身类型的 lint。

错误

dart
useStrings(
    "should be single quote",
    r"should be single quote",
    r"""should be single quotes""")

正确

dart
useStrings(
    'should be single quote',
    r'should be single quote',
    r\'''should be single quotes\''',
    "here's ok",
    "nested \${a ? 'strings' : 'can'} be wrapped by a double quote",
    'and nested \${a ? "strings" : "can be double quoted themselves"}');

用法

#

要启用 prefer_single_quotes 规则,请在 analysis_options.yaml 文件的linter > rules 下添加 prefer_single_quotes

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_single_quotes