Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between single and double quotes in Flutter/Dart

I know that single and double quotes have at least some level of equivelence in Dart. For example,

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

and

var myString = 'Hello world';      // single quotes 

have no programmatic difference to my knowledge.

I keep seeing them used seemingly interchangeably in various examples and in some documentation. I'm wondering if there is a subtle difference that I am missing or if there is a recommended style to follow, especially in Flutter.

This is a Q&A self answer after reading the Flutter and Dart style guides.

like image 790
Suragch Avatar asked Jan 03 '19 00:01

Suragch


1 Answers

Single and double quotes both work in Dart

final myString = 'hello'; 

is the same as

final myString = "hello"; 

Delimiters need to be escaped

Use a \ backslash to escape single quotes in a single quote string.

final myString = 'Bob\'s dog';            // Bob's dog 

Same thing to escape double quotes in a double quote string.

final myString = "a \"quoted\" word";     // a "quoted" word 

But no need to escape anything if the delimiter is different.

final myString = "Bob's dog";             // Bob's dog final myString = 'a "quoted" word';       // a "quoted" word 

Also no need to worry about the value passed into an interpolated string.

final value = '"quoted"';                 // "quoted" final myString = "a $value word";         // a "quoted" word 

Prefer single quotes in Flutter

The Flutter style guide recommends using single quotes for everything

final myString = 'hello'; 

except for nested strings

print('Hello ${name.split(" ")[0]}'); 

or strings containing single quotes (optional)

final myString = "Bob's dog"; final myString = 'Bob\'s dog';  // ok 

The Dart style guide appears to be silent on the issue.

like image 133
Suragch Avatar answered Oct 06 '22 06:10

Suragch