Метод strings.Builder.WriteString
Метод strings.Builder.WriteString используется для эффективного добавления строки
в билдер. В качестве параметра он принимает строку, которую нужно записать.
Метод возвращает количество записанных байт и ошибку, однако при работе с strings.Builder
ошибка всегда равна nil, так как билдер гарантирует успешное выделение памяти.
Этот метод является основным инструментом для конкатенации строк в цикле,
так как он минимизирует количество выделений памяти.
Синтаксис
builder.WriteString(str)
Пример
Давайте создадим билдер и запишем в него строку "abcde":
package main
import (
"fmt"
"strings"
)
func main() {
var builder strings.Builder
builder.WriteString("abcde")
fmt.Println(builder.String())
}
Результат выполнения кода:
"abcde"
Пример
Теперь запишем несколько строк и посмотрим на результат:
package main
import (
"fmt"
"strings"
)
func main() {
var builder strings.Builder
builder.WriteString("abcde")
builder.WriteString("12345")
fmt.Println(builder.String())
}
Результат выполнения кода:
"abcde12345"
Пример
Метод возвращает количество записанных байт, что может быть полезно для отслеживания размера:
package main
import (
"fmt"
"strings"
)
func main() {
var builder strings.Builder
n, _ := builder.WriteString("abcde")
fmt.Println("Bytes written:", n)
fmt.Println(builder.String())
}
Результат выполнения кода:
"Bytes written: 5"
"abcde"
Смотрите также
-
метод
strings.Builder.String,
который возвращает собранную строку из билдера -
тип
strings.Builder,
который предоставляет эффективный способ построения строк -
метод
bytes.Buffer.WriteString,
который делает то же самое, но для байтовых буферов -
функцию
strings.ReplaceAll,
которая заменяет все вхождения подстроки в строке