में स्ट्रिंग से एकल यूनिकोड-कैरेक्टर कैसे प्राप्त करें मैं गोलांग का शुरुआत कर रहा हूं। मुझे आश्चर्य है कि मैं स्ट्रिंग से यूनिकोड कैरेक्टर कैसे प्राप्त कर सकता हूं।
की तरह, स्ट्रिंग "你好" है, मैं पहला अक्षर "你" कैसे प्राप्त कर सकता हूं?
गोलांग
var str="你好"
runes_array := []rune(str)
fmt.Println(string(runes_array[0]))
यह करता है काम:
अन्य जगह से मैं एक तरह से मिलता है।
लेकिन मेरे पास अभी भी कुछ प्रश्न हैं:
1) क्या इसे बनाने का कोई और तरीका है?
2) golang में क्यों str उपयोग नहीं कर सकते [0], स्ट्रिंग से यूनिकोड चरित्र मिलता
लेकिन बाइट डाटा प्राप्त करने के लिए?
आपकी मदद के लिए धन्यवाद। दूसरा तरीका केवल पहला यूनिकोड चरित्र प्राप्त कर सकता है, यह अपूर्ण लगता है। मैं पहली तरह समझ गया, और मुझे लगता है कि मैं अपनी समस्या को हल करने के लिए इसे संशोधित कर सकता हूं। और मुझे अभी भी आश्चर्य है कि क्या कोई आसान है एक स्ट्रिंग से सूचकांक द्वारा यूनिकोड charcter पाने के लिए rway। –
* आसान * तरीका वही करना है जो आपने किया था: [] rune (str) [अनुक्रमणिका]। और एक सबस्ट्रिंग के लिए वही: स्ट्रिंग ([] rune (str) [अनुक्रमणिका: अनुक्रमणिका + लंबाई])। सबसे सरल मामलों के लिए वास्तव में कुछ भी फैनसीयर करने का कोई कारण नहीं है। – Aedolon
एक [] रनवे में कनवर्ट करना हालांकि आवंटित होगा। यह संभवतः गैर प्रदर्शन संवेदनशील कोड में स्वीकार्य है। –