Используйте необработанные строковые литералы для многострочных строк:
func main(){
multiline := `line
by line
and line
after line`
}
Необработанные строковые литералы
Необработанные строковые литералы представляют собой последовательности символов между обратными кавычками, как в `foo`
.В кавычках может появляться любой символ, кроме обратной кавычки.
Значительная часть состоит в том, что raw литерал не просто многострочный, и быть многострочным не является единственнымЦель этого.
Значение необработанного строкового литерала - это строка, состоящая из неинтерпретированных (неявно кодированных в UTF-8) символов между кавычками;в частности, обратная косая черта не имеет особого значения ...
Таким образом, экранирование не будет интерпретироваться, и новые строки между галочками будут настоящими новыми строками .
func main(){
multiline := `line
by line \n
and line \n
after line`
// \n will be just printed.
// But new lines are there too.
fmt.Print(multiline)
}
Конкатенация
Возможно, у вас есть длинная строка, которую вы хотите разорвать, и вам не нужны новые строки в ней.В этом случае вы можете использовать конкатенацию строк.
func main(){
multiline := "line " +
"by line " +
"and line " +
"after line"
fmt.Print(multiline) // No new lines here
}
Так как "" интерпретируется, строковые литералы будут интерпретироваться.
func main(){
multiline := "line " +
"by line \n" +
"and line \n" +
"after line"
fmt.Print(multiline) // New lines as interpreted \n
}