Поскольку у Groovy нет маркера EOL (например, ;
), он запутается, если вы поместите оператор в следующую строку
Вместо этого это будет работать:
def a = "test" +
"test" +
"test"
поскольку синтаксический анализатор Groovy знает, что ожидать чего-то в следующей строке
Groovy рассматривает ваш оригинал def
как три отдельных утверждения. Первые правопреемников test
к a
, второй два раза , чтобы сделать "test"
положительный (и это, где это не получится )
С помощью new String
метода конструктора синтаксический анализатор Groovy все еще находится в конструкторе (поскольку фигурная скобка еще не закрыта), поэтому он может логически объединить три строки в один оператор.
Для настоящих многострочных строк вы также можете использовать тройную кавычку:
def a = """test
test
test"""
Создадим строку с тестом на трех строках
Кроме того, вы можете сделать его более аккуратным:
def a = """test
|test
|test""".stripMargin()
stripMargin
метод будет обрезать левый (до и включая |
символ) из каждой строки
def a = b + + "/" + c
. В этом случае, очевидно, проблема заключается в двух символах +.