def a = "a string"
def b = 'another'
何か違いはありますか? それとも、JavaScript のように文字列を簡単に入力できるのでしょう'
か"
?
ベストアンサー1
シングルクォートはJavaの標準文字列です
二重引用符はテンプレート化可能な文字列であり、テンプレート化されている場合は 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"
また、julx が回答で示したリンク一読の価値があります (特に、約 2/3 のところにある GStrings が Strings ではないという部分)。