groovy
स्ट्रिंग्स और GString शाब्दिक
खोज…
वाक्य - विन्यास
- 'सिंगल कोटेड स्ट्रिंग'
- "डबल उद्धृत स्ट्रिंग"
- '' 'मल्टीलाइन स्ट्रिंग' ''
- "" "ट्रिपल डबल उद्धृत स्ट्रिंग" "
- / स्लेशी स्ट्रिंग /
- $ / डॉलर स्लैश स्ट्रिंग / $
टिप्पणियों
Groovy के दो स्ट्रिंग प्रकार हैं java java.lang.String
और groovy.lang.GString
, साथ ही साथ स्ट्रिंग शाब्दिक के कई रूप (वाक्यविन्यास और उदाहरण देखें)।
दो प्रकार के तारों के बीच मुख्य अंतर यह है कि GString स्ट्रिंग प्रक्षेप का समर्थन करता है।
एकल उद्धृत स्ट्रिंग
def str = 'Single quoted string'
assert str instanceof String
डबल उद्धृत स्ट्रिंग (प्रक्षेप प्लेसहोल्डर के बिना)
def str = "Double quoted string"
assert str instanceof String
डबल उद्धृत स्ट्रिंग (प्रक्षेप)
def param = 'string'
def str = "Double quoted ${param}"
assert str instanceof GString
assert str == 'Double quoted string'
पैरामीटर डिफ़ॉल्ट रूप से उत्सुकता से हल किया गया है, इसका मतलब यह लागू होता है:
def param = 'string'
def str = "Double quoted ${param}"
param = 'another string'
assert str == 'Double quoted string'
हर बार जब स्ट्रिंग का उपयोग किया जाता है, तो पैरामीटर को लोड करने के लिए, यह किया जा सकता है:
def param = 'string'
def str = "Double quoted ${ -> param}"
assert str == 'Double quoted string'
param = 'lazy load'
assert str == 'Double quoted lazy load'
मल्टीलाइन स्ट्रिंग
def str = '''multiline
string'''
assert str instanceof String
मल्टीलाइन स्ट्रिंग (अतिरिक्त अनुगामी न्यूलाइन)
def str = '''
multiline
string'''
assert str.readLines().size() == 3
मल्टीलाइन स्ट्रिंग (अतिरिक्त अनुगामी न्यूलाइन के बिना)
def str = '''\
multiline
string'''
assert str.readLines().size() == 2
ट्रिपल डबल उद्धृत स्ट्रिंग
def param = 'string'
def str = """
multiline
$param
"""
assert str instanceof GString
assert str.readLines().size() == 3
assert str == '''
multiline
string
'''
स्लेशी स्ट्रिंग (कोई प्रक्षेप प्लेसहोल्डर नहीं)
def str = /
multiline string
no need to escape slash
\n
/
assert str instanceof String
assert str.readLines().size() == 4
assert str.contains('\\n')
स्लेशी स्ट्रिंग (प्रक्षेप)
def param = 'string'
def str = /
multiline $param
no need to escape slash
\n
/
assert str instanceof GString
assert str.readLines().size() == 4
assert str.contains('\\n')
assert str.contains('string')
डॉलर स्लैश स्ट्रिंग
def param = 'string'
def str = $/
multiline $param
no need to escape slash
\n
$
$$
/$
assert str instanceof GString
assert str.readLines().size() == 6
assert str.contains('\\n')
assert str.contains('$')
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow