इसमें ऑपरेटर के बजाय एक फ़ंक्शन है, strings.Repeat
। यहाँ अपने अजगर उदाहरण है, जो आप चला सकते हैं here के एक बंदरगाह है:
package main
import (
"fmt"
"strings"
"unicode/utf8"
)
func main() {
x := "my new text is this long"
y := strings.Repeat("#", utf8.RuneCountInString(x))
fmt.Println(y)
}
ध्यान दें कि मैं utf8.RuneCountInString(x)
बजाय len(x)
का उपयोग किया है; पूर्व गणना "रन" (यूनिकोड कोड पॉइंट्स), जबकि बाद वाले बाइट्स की गणना करता है। "my new text is this long"
के मामले में, अंतर कोई फर्क नहीं पड़ता क्योंकि सभी पात्र केवल एक बाइट हैं, लेकिन यह मतलब है कि आप क्या मतलब है निर्दिष्ट करने की आदत में जाना अच्छा है।
(अजगर 2, सादे तार और runes यूनिकोड तार पर (u'...'
) अजगर 3 में, सादे तार यूनिकोड तार और len
मायने रखता है runes हैं पर len
मायने रखता है बाइट्स में;। यदि आप बाइट्स गणना करना चाहते हैं, तो आप करने के लिए है पहले स्ट्रिंग को bytearray
में एन्कोड करें। जाओ में, केवल एक ही प्रकार की स्ट्रिंग है और आपको कनवर्ट करने की आवश्यकता नहीं है, लेकिन आपको उस फ़ंक्शन को चुनना होगा जो आपके इच्छित सेमेन्टिक्स से मेल खाता है।)
स्रोत
2015-10-15 02:54:48
महत्वपूर्ण, महान उत्तर में रनों को समझना। – cerberos