Что означает [:] в хороводе? Читая некоторый отличный код другого разработчика, я обнаружил следующее определение: def foo=[:] Что это значит? Ответ 1 [:] это сокращенная запись для создания карты. Вы также можете добавить ключи и значения к нему: def foo = [bar: 'baz'] Ответ 2 [:] создает пустую карту. Двоеточие, чтобы отличить его от [], создает пустой список. Этот отличный код: def foo = [:] примерно соответствует этому java-коду: Object foo = new java.util.LinkedHashMap(); Ответ 3 Цитируя документ: Обратите внимание, что [:] является пустым выражением карты. ... которая является единственной Map с size() возвращающей 0.) Сама по себе она редко полезна, но вы, конечно, можете добавлять значения в эту карту: def emptyMap = [:] assert emptyMap.size() == 0 emptyMap.foo = 5 assert emptyMap.size() == 1 assert emptyMap.foo == 5
Ответ 1 [:] это сокращенная запись для создания карты. Вы также можете добавить ключи и значения к нему: def foo = [bar: 'baz']
Ответ 2 [:] создает пустую карту. Двоеточие, чтобы отличить его от [], создает пустой список. Этот отличный код: def foo = [:] примерно соответствует этому java-коду: Object foo = new java.util.LinkedHashMap();
Ответ 3 Цитируя документ: Обратите внимание, что [:] является пустым выражением карты. ... которая является единственной Map с size() возвращающей 0.) Сама по себе она редко полезна, но вы, конечно, можете добавлять значения в эту карту: def emptyMap = [:] assert emptyMap.size() == 0 emptyMap.foo = 5 assert emptyMap.size() == 1 assert emptyMap.foo == 5