2016-05-26 13 views
2

私はGroovyで本当に混乱しています。 GroovyでStringsのために何を使用するのですか?'vs "" vs' ''をGroovyで使用する場合は何を使用しますか?

1)一重引用符 - ' '
2)二重引用符 - " "
3)トリプル引用 - '''

マイコード:

println("Tilak Rox") 
println('Tilak Rox') 
println('''Tilak Rox''') 

すべてが同じ結果を生成する傾向があります。 何を使用するか? """ダブル

トリプルマルチラインの基本的な文字列のためのものである

def a = 'tim' 
assert "Hi $a" == 'Hi tim' 

トリプル単一引用符'''

+0

Javaタグが削除されました。これはJavaの質問ではありません –

答えて

2

あるドルslashy文字列$/hello $a/$さslashy文字列/hello $a/もあります/、dolar-slash $/、および二重引用符"""と同じ結果です。最も重要な違い:二重引用符対

  1. シングル:=)

    だから、違いは何です。一重引用符は普通のJavaのような文字列です。二重引用符はGStringで、の文字列補間を使用できます。私。式を埋め込むことができます:println("${40 + 5}")プリント45、println('${ 40 + 5}')${ 40 + 5}を生成します。この式はかなり複雑で、変数を参照したり、メソッドを呼び出すことができます。

  2. トリプル引用トリプル二重引用符は、文字列複数行を作るための方法です。あなたはコード内の1行でそれを開き、大きな部分のXML、詩やSQLの式をコピー・ペーストして、文字列の連結を心配しないでください。
  3. Slashy/ドルslashy$/文字列は正規表現を助けるためにここにいます。彼らは '\'と '/'のための特別なエスケープルールを持っています。

@ tempが指摘しているように、エスケープルールの小さな相違点や例も含まれていますが、その点ではofficial documentationがあります。

ほとんどの場合、非常に特別なシナリオで使用するため、複数行/スラッシュ文字列を頻繁に使用する必要はありません。しかし、あなたがそうすると、コードの読みやすさに大きな違いが生まれます!

1

単一引用符'は、基本的な文字列

ダブル"はテンプレート文字列すなわちのためのものである引用のためのものです複数行のテンプレート文字列の引用符は

私はあなたにもスラッシュを使用することができることを、言って、もっとあなたを混乱させる

をテンプレートとマルチラインおよびテンプレート

They're all documented quite well in the documentation

関連する問題