Dart Strings können entweder roh oder .. nicht roh (normal? gekocht? interpretiert? Es gibt keinen formellen Namen). Ich werde hier mit "interpretiert" gehen, weil es das Problem beschreibt, das Sie haben.
In einer rohen Zeichenkette bedeuten "$" und "\" nichts besonderes, sie sind nur Zeichen wie jedes andere. In einer interpretierten Zeichenfolge startet "$" eine Interpolation und "\" startet einen Escape-Befehl.
Da Sie die Interpolation für „$ Dollar“ möchten, können Sie nicht verwenden „$“ wörtlich, so dass Sie es entkommen müssen:
int dollars = 42;
print("I have \$$dollars.");
Wenn Sie eine Flucht nicht verwenden möchten , können Sie die Zeichenfolge aus rohen und interpretiert Teile kombinieren:
int dollars = 42;
print(r"I have $" "$dollars.");
Zwei benachbarte Stringliterale in eine Zeichenfolge kombiniert werden, auch wenn sie unterschiedliche Arten von Zeichenfolge sind.
hast du versucht 'print (" Ich habe \ $ dollars. "); '? (Ich weiß eigentlich nicht, Dart, ich rate nur) – FrustratedWithFormsDesigner