Ben golang'da yeni çıkıyorum. Herhangi bir resmi dokümanı, birden fazla sokmanın dize ile nasıl birleştirileceğini gösteremiyorum.
Girdi: "tuşu:", "değer", "Tuş 2'ye:" Ben bekliyordum ne
, 100
Çıktı: "Anahtar: değeri, anahtar2: 100"Golang'da tek bir dizeye birden çok dizeyi ve int nasıl birleştirilir?
cevap
ben mi Bu tür bir şey için fmt'nin Sprintf
yöntemini kullanın. Go veya C'deki normal Printf
gibi çalışır, yalnızca bir dize döndürür. İşte bir örnek; fmt.Sprintf
sonuncu int numarasıdır. % D kullanabilir miyim? –
@RobertYiJiang evet, bununla birlikte düzenleyeceğim. Buradaki girdinin türünü değiştirdiğimi bilmiyordum. – evanmcdonnal
için
output := fmt.Sprintf("%s%s%s%d", "key:", "value", ", key2:", 100)
Git dokümanlar Sen fmt.Sprintf kıyasla neredeyse 3x hızlıdır strings.Join kullanabilirsiniz. Ancak daha az okunabilir olabilir. Eğer dizeleri bir çok birleştirme gerekiyorsa fmt.Sprintf
BenchmarkFmt-4 2000000 685 ns/op
BenchmarkJoins-4 5000000 244 ns/op
Tampon
, ben dikkate alacağını vs
output := strings.Join([]string{"key:", "value", ", key2:", strconv.Itoa(100)}, "")
https://play.golang.org/p/AqiLz3oRVq
strings.Join gör Yukarıda belirtilen çözümlerden ziyade bir tampon kullanarak.
Eğer strconv.Itoa kullanırsanız, + –
@ ColinPitrat ile dizeleri birleştirebilirsiniz. Git derleyicisindeki bir sorun nedeniyle, 2 veya 3 öğeden oluşan diziler + kullanır, ancak bunun için bir bayt dilimi oluşturur. daha verimli bir birleşme. Birleştirilecek ikiden fazla öğeniz varsa, strings.Join'i kullanmanızı kesinlikle öneririm. – basgys
- 1. VBA: tek bir hücrede bulunan birden çok satırı nasıl birleştirilir?
- 2. Android'de birden çok görüntüyü tek bir görüntüde nasıl birleştirilir?
- 3. Birden çok dizeyi .search() yöntemiyle nasıl ararsınız?
- 4. Birden çok dizeyi almada arabellek nasıl temizlenir?
- 5. Birden çok işlemi geçmişini kaybetmeden bir arada nasıl birleştirilir?
- 6. Birden çok ray uygulaması birleştirilir ve ressources paylaşımı nasıl yapılır
- 7. Dizeyi tek tek kelimelerle bölme Java
- 8. Bir dizeyle ayrılmış birden çok dizeye Javascript dize dizisi
- 9. Tutulma içinde birden çok dizeyi arama
- 10. mvn clean ve mvn yüklemesini tek bir görevde nasıl birleştirilir?
- 11. Tek bir yöntemde birden çok yönü
- 12. Split Rx Birden çok akışa gözlenebilir ve tek tek işlenebilir
- 13. "\ n" karakterlerini içeren çok satırlı bir dizeyi bash dizesinde bir dizeye bölmek nasıl?
- 14. Birden çok satırdan tek bir satır oluşturma
- 15. cursor.getString() işlevi bir dizeye int ister?
- 16. Tek bakışta birden çok yineleme -
- 17. Birden çok PDF'yi döndürün ve tek bir PDF'ye yazdırın
- 18. Tek bölmede birden çok denetim nasıl yerleştirilir?
- 19. Bir dosyadaki satırlardaki birden çok alt dizeyi okuma
- 20. Tek bir sayfada birden çok Dropzone
- 21. Birden çok dosyadan okuma yapın ve tek bir dosyada sıkıştırın
- 22. Biçimlendirme yer tutucularıyla bir dizeyi nasıl yerelleştirebilirim?
- 23. Tek bir adımda birden çok varolan klasörü ve birden çok varolan dosyayı Visual Studio projesine ekleme
- 24. dplyr ile birden çok dizeye dayalı sütunları seçin()
- 25. Farklı Yakalama Gruplarıyla Bir Regex Kullanarak Birden Çok Dizeye Bir Dize Bölme
- 26. Birden çok iş parçacığı ile tek bir dosyada nasıl yazılır?
- 27. .NET'te birden çok SqlConnections için tek bir SqlTransaction nasıl kullanılır?
- 28. Tek bir makinede birden çok Perl yüklemesi nasıl çalıştırılır?
- 29. Tek bir şekilde birden çok görüntü nasıl gösterilir?
- 30. Tek bir sınıfta birden çok FontLoader nesnesi nasıl bulunur?
Olası kopya [Golang: yazdırılmadan dize biçimlendirilsin mi?] (Http://stackoverflow.com/questions/11123865/golang-format-a-string-without-printing) – icza