def a = "a string"
def b = 'another'
কোন পার্থক্য আছে? অথবা জাভাস্ক্রিপ্টের মতো আসুন ইনপুট '
এবং "
স্ট্রিংগুলিতে আরও সহজ?
def a = "a string"
def b = 'another'
কোন পার্থক্য আছে? অথবা জাভাস্ক্রিপ্টের মতো আসুন ইনপুট '
এবং "
স্ট্রিংগুলিতে আরও সহজ?
উত্তর:
একক উদ্ধৃতি মানক জাভা স্ট্রিং
ডাবল উদ্ধৃতিগুলি একটি টেম্প্লেটেবল স্ট্রিং, যা হয় কোনও জিস্ট্রিংকে যদি তা টেম্প্লেটেড হয় তবে ফিরিয়ে দেবে, অন্যথায় একটি স্ট্যান্ডার্ড জাভা স্ট্রিং। উদাহরণ স্বরূপ:
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"
এছাড়াও, তাদের উত্তরে জুলকিউইকস প্রদত্ত লিঙ্কটি পড়ার মতো (উদাহরণস্বরূপ, জিএসআরটিংসের স্ট্রিংগুলি নীচে নেমে যাওয়ার 2/3 অংশ নয় about
আমার বোধগম্যতা হল ডাবল-কোটেড স্ট্রিংয়ে ভেরিয়েবল এবং অন্যান্য এক্সপ্রেশনগুলির এম্বেড থাকা তথ্য থাকতে পারে। যেমন: "Hello $name"
, "Hello ${some-expression-here}"
। এই ক্ষেত্রে একটি GString
নিয়মিত পরিবর্তে instantiated করা হবে না String
। অন্যদিকে একক-উদ্ধৃত স্ট্রিংগুলি এই সিনট্যাক্সটিকে সমর্থন করে না এবং সর্বদা একটি সমভূমিতে ফলাফল দেয় String
। বিষয়টিতে আরও এখানে:
http://docs.groovy-lang.org/latest/html/docamentation/index.html#all-strings