Junior
Чӣ тавр ба таври муассир сатрҳоро дар Go пайваст кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
Роҳҳои муассир:
-
+=: Ками самараноктарин барои пайвасткунии бисёрмаротиба, зеро дар ҳар итератсия сатрҳои нав месозад. -
strings.Join: Идеалӣ барои пайваст кардани массиви сатрҳо бо ҷудогаркунанда. -
fmt.Sprintf: Муҳайё барои форматинг, аммо метавонад нисбат ба дигар усулҳо барои пайвасткунии оддӣ сусттар бошад. -
strings.Builder: Самараноктарин барои сохтани сатрҳои дароз аз чанд қисм, бо парҳез аз таъиноти иловагӣ.
// Мисол бо strings.Builder
import "strings"
var builder strings.Builder
builder.WriteString("Hello")
builder.WriteString(" ")
builder.WriteString("World")
result := builder.String() // Гирифтани сатрҳои натиҷа
bytes.Buffer: Монанд баstrings.Builder, аммо бо срезҳои байт кор мекунад. Самаранок дар кор бо маълумоте, ки ҳатман сатрҳои UTF-8 нестанд.
// Мисол бо bytes.Buffer
import "bytes"
var buffer bytes.Buffer
buffer.WriteString("Byte")
buffer.WriteString(" ")
buffer.WriteString("Data")
result := buffer.String() // Гирифтани сатрҳои натиҷа
Интихоби усул вобаста ба вазифаи мушаххас:
- Як маротиба пайваст кардан:
+ёfmt.Sprintf. - Пайваст кардани срези сатрҳо:
strings.Join. - Сохтани сатр дароз аз чанд қисм дар як давр:
strings.Builder. - Кор бо байтҳо:
bytes.Buffer.