Ответ 1
Одиночные кавычки - это стандартная строка java
Двойные кавычки - это шаблонная String, которая либо вернет GString, если она затенена, либо стандартная строка Java. Например:
println 'hi'.class.name // prints java.lang.String
println "hi".class.name // prints java.lang.String
def a = 'Freewind'
println "hi $a" // prints "hi Freewind"
println "hi $a".class.name // prints org.codehaus.groovy.runtime.GStringImpl
Если вы пытаетесь использовать шаблоны с одиночными кавычками, это ничего не делает, поэтому:
println 'hi $a' // prints "hi $a"
Кроме того, ссылка заданная julkiewicz в их ответе, стоит прочитать (например, часть о GStrings не является строками около 2/3 пути вниз.