Sobes.tech
Junior

Чӣ тавр ба таври муассир сатрҳоро дар Go пайваст кардан мумкин аст?

sobes.tech AI

Ҷавоб аз AI

Роҳҳои муассир:

  1. +=: Ками самараноктарин барои пайвасткунии бисёрмаротиба, зеро дар ҳар итератсия сатрҳои нав месозад.

  2. strings.Join: Идеалӣ барои пайваст кардани массиви сатрҳо бо ҷудогаркунанда.

  3. fmt.Sprintf: Муҳайё барои форматинг, аммо метавонад нисбат ба дигар усулҳо барои пайвасткунии оддӣ сусттар бошад.

  4. strings.Builder: Самараноктарин барои сохтани сатрҳои дароз аз чанд қисм, бо парҳез аз таъиноти иловагӣ.

// Мисол бо strings.Builder
import "strings"

var builder strings.Builder
builder.WriteString("Hello")
builder.WriteString(" ")
builder.WriteString("World")
result := builder.String() // Гирифтани сатрҳои натиҷа
  1. 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.