जवाबों:
भाषा विनिर्देश के अनुसार आप एक कच्चे स्ट्रिंग शाब्दिक का उपयोग कर सकते हैं, जहां डबल कोट्स के बजाय बैकटिक्स द्वारा स्ट्रिंग को सीमांकित किया गया है।
`line 1
line 2
line 3`
line 1
इसके बाद एक स्थान रखते हैं तो यह आपके संपादक में अदृश्य होगा लेकिन स्ट्रिंग में मौजूद होगा।
$(abcd)
)।
तुम लिख सकते हो:
"line 1" +
"line 2" +
"line 3"
जो समान है:
"line 1line 2line3"
वापस टिक्स का उपयोग करने के विपरीत, यह भागने के पात्रों को संरक्षित करेगा। ध्यान दें कि "+" को 'अग्रणी' लाइन पर होना चाहिए:
"line 1"
+"line 2"
एक त्रुटि उत्पन्न करता है।
\n
और गतिशील तार और इस तरह के साथ काम करना बहुत आसान है। अगर मैं सही हूं, तो स्वीकृत उत्तर वास्तव में कोड में स्थिर स्ट्रिंग्स के लिए है ताकि यह सुंदर दिखाई दे।
से स्ट्रिंग शाब्दिक :
\n
' ' ' की तरह बच गए वर्ण हैं ।लेकिन, यदि आपके मल्टी-लाइन स्ट्रिंग में बैकक्वाटर (`) को शामिल करना है, तो आपको व्याख्यात्मक स्ट्रिंग लिटर का उपयोग करना होगा:
`line one
line two ` +
"`" + `line three
line four`
आप सीधे कच्चे स्ट्रिंग शाब्दिक (`` xx \
) में एक बैकक्वाटर (`) नहीं डाल सकते ।
आपको उपयोग करना होगा (जैसा कि " कैसे एक बैकचॉट स्ट्रिंग में एक बैकक्वॉट डाल दिया जाए? ") में समझाया गया है।
+ "`" + ...
मल्टी-लाइन स्ट्रिंग्स के लिए कच्चे स्ट्रिंग लीटर का उपयोग करें:
func main(){
multiline := `line
by line
and line
after line`
}
कच्चे स्ट्रिंग शाब्दिक, पीछे के उद्धरणों के बीच वर्ण क्रम हैं
`foo`
। उद्धरणों के भीतर, पीछे के उद्धरण को छोड़कर कोई भी चरित्र दिखाई दे सकता है।
एक महत्वपूर्ण हिस्सा यह है कि कच्चा शाब्दिक न केवल मल्टी-लाइन है और मल्टी-लाइन होना इसका एकमात्र उद्देश्य नहीं है।
कच्चे स्ट्रिंग शाब्दिक का मान उद्धरण के बीच निर्बाध (अनुमानित UTF-8-एन्कोडेड) वर्णों से बना स्ट्रिंग है; विशेष रूप से, बैकस्लैश का कोई विशेष अर्थ नहीं है ...
तो पलायन की व्याख्या नहीं की जाएगी और टिक्स के बीच नई लाइनें वास्तविक नई लाइनें होंगी ।
func main(){
multiline := `line
by line \n
and line \n
after line`
// \n will be just printed.
// But new lines are there too.
fmt.Print(multiline)
}
संभवतः आपके पास लंबी लाइन है जिसे आप तोड़ना चाहते हैं और आपको इसमें नई लाइनों की आवश्यकता नहीं है। इस मामले में आप स्ट्रिंग समवर्ती का उपयोग कर सकते हैं।
func main(){
multiline := "line " +
"by line " +
"and line " +
"after line"
fmt.Print(multiline) // No new lines here
}
चूंकि "" व्याख्या की गई है स्ट्रिंग शाब्दिक पलायन की व्याख्या की जाएगी।
func main(){
multiline := "line " +
"by line \n" +
"and line \n" +
"after line"
fmt.Print(multiline) // New lines as interpreted \n
}
टिक्सेस का उपयोग करके आप बहु-स्तरीय तार लगा सकते हैं:
package main
import "fmt"
func main() {
message := `This is a
Multi-line Text String
Because it uses the raw-string back ticks
instead of quotes.
`
fmt.Printf("%s", message)
}
या तो दोहरे उद्धरण (") या एकल उद्धरण प्रतीकों (') का उपयोग करने के बजाय, स्ट्रिंग की शुरुआत और अंत को परिभाषित करने के लिए बैक-टिक का उपयोग करें। फिर आप इसे लाइनों में लपेट सकते हैं।
यदि आप स्ट्रिंग को इंडेंट करते हैं, तो याद रखें कि सफेद स्थान गिना जाएगा।
आपको फॉर्मेट और लाइन स्पेस में जाने में बहुत सावधानी बरतनी होगी, सब कुछ मायने रखता है और यहां काम करने का एक नमूना है, इसे आजमाएं https://play.golang.org/p/c0zeXKYlmF
package main
import "fmt"
func main() {
testLine := `This is a test line 1
This is a test line 2`
fmt.Println(testLine)
}
मेरे लिए यह वही है जो अगर मैं जोड़ रहा हूँ तो \n
समस्या नहीं है।
fmt.Sprintf("Hello World\nHow are you doing today\nHope all is well with your go\nAnd code")
और आप उपयोग कर सकते हैं raw string
multiline := `Hello Brothers and sisters of the Code
The grail needs us.
`