Функция strings.Clone
Функция strings.Clone создает новую строку, которая является независимой копией исходной строки.
В первый параметр мы передаем строку, которую нужно скопировать.
Функция возвращает новую строку с тем же содержимым.
Это особенно полезно, когда нужно гарантировать, что строка не будет изменена через другие ссылки,
или когда необходимо сохранить строку в долгоживущей структуре данных.
Синтаксис
strings.Clone(str)
Пример
Давайте создадим копию строки и проверим, что они имеют одинаковое содержимое:
package main
import (
"fmt"
"strings"
)
func main() {
original := "abcde"
cloned := strings.Clone(original)
fmt.Println(original)
fmt.Println(cloned)
}
Результат выполнения кода:
"abcde"
"abcde"
Пример
Давайте убедимся, что изменения в копии не влияют на оригинальную строку:
package main
import (
"fmt"
"strings"
)
func main() {
original := "abcde"
cloned := strings.Clone(original)
cloned = strings.Replace(cloned, "b", "x", -1)
fmt.Println(original)
fmt.Println(cloned)
}
Результат выполнения кода:
"abcde"
"axcde"
Пример
Давайте создадим копию пустой строки:
package main
import (
"fmt"
"strings"
)
func main() {
original := ""
cloned := strings.Clone(original)
fmt.Println(original == cloned)
fmt.Println(cloned)
}
Результат выполнения кода:
"true"
""
Смотрите также
-
функцию
strings.Compare,
которая сравнивает две строки и возвращает результат сравнения -
функцию
strings.EqualFold,
которая проверяет равенство строк без учета регистра -
функцию
strings.Contains,
которая проверяет наличие подстроки в строке -
функцию
strings.Repeat,
которая повторяет строку заданное количество раз