Функция strings.CutSuffix
Функция strings.CutSuffix удаляет указанный суффикс из строки,
если он присутствует в конце. Она возвращает исходную строку без суффикса
и булево значение true, если суффикс был найден и удален.
В противном случае возвращается исходная строка и false.
Первый параметр функции — строка, которую нужно обработать,
второй — суффикс, который требуется удалить.
Синтаксис
strings.CutSuffix(str, suffix)
Пример
Давайте удалим суффикс ".go" из строки "main.go":
package main
import (
"fmt"
"strings"
)
func main() {
res, found := strings.CutSuffix("main.go", ".go")
fmt.Printf("%q, %t\n", res, found)
}
Результат выполнения кода:
"main", true
Пример
Попробуем удалить суффикс ".txt" из строки "image.png".
Так как суффикс не совпадает, функция вернет исходную строку и false:
package main
import (
"fmt"
"strings"
)
func main() {
res, found := strings.CutSuffix("image.png", ".txt")
fmt.Printf("%q, %t\n", res, found)
}
Результат выполнения кода:
"image.png", false
Пример
Важно, что функция удаляет только точное совпадение в конце строки. Если суффикс встречается в середине, но не в конце, удаления не произойдет:
package main
import (
"fmt"
"strings"
)
func main() {
res, found := strings.CutSuffix("test.txt.backup", ".txt")
fmt.Printf("%q, %t\n", res, found)
}
Результат выполнения кода:
"test.txt.backup", false
Смотрите также
-
функцию
strings.CutPrefix,
которая удаляет префикс из строки -
функцию
strings.HasSuffix,
которая проверяет наличие суффикса в строке -
функцию
strings.TrimSuffix,
которая аналогично удаляет суффикс, но без возврата булева значения -
функцию
strings.Cut,
которая разделяет строку по первому вхождению разделителя