Search code examples
stringrustsyntax

What is the syntax for a multiline string literal?


I'm having a hard time figuring out how string syntax works in Rust. Specifically, I'm trying to figure out how to make a multiple line string.


Solution

  • All string literals can be broken across several lines; for example:

    let string = "line one
    line two";
    

    is a two line string, the same as "line one\nline two" (of course one can use the \n newline escape directly too). If you wish to just break a string across multiple lines for formatting reasons you can escape the newline and leading whitespace with a \; for example:

    let string = "one line \
        written over \
        several";
    

    is the same as "one line written over several".

    If you want linebreaks in the string you can add them before the \:

    let string = "multiple\n\
                  lines\n\
                  with\n\
                  indentation";
    

    It's the same as "multiple\nlines\nwith\nindentation";