Функция strconv.Quote

Функция strconv.Quote преобразует переданную строку в безопасный строковый литерал языка Go. Она добавляет двойные кавычки вокруг строки и заменяет все управляющие символы на их экранированные представления: например, символ новой строки заменяется на \n, табуляция на \t, а обратный слеш на \\. Первым и единственным параметром функция принимает строку для экранирования.

Синтаксис

gostrconv.Quote(s)

Пример

Давайте экранируем строку, содержащую двойные кавычки и обратный слеш:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.Quote("line1\nline2\t\"backslash\\")
  fmt.Println(res)
}

Результат выполнения кода:

go"line1\nline2\t\"backslash\\"

Пример

Экранирование строки с обычным текстом, не содержащим специальных символов:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.Quote("Hello, World!")
  fmt.Println(res)
}

Результат выполнения кода:

go"Hello, World!"

Пример

Экранирование пустой строки:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.Quote("")
  fmt.Println(res)
}

Результат выполнения кода:

go""

Смотрите также

  • функцию strconv.QuoteToASCII,
    которая экранирует строку в ASCII-представление с использованием escape-последовательностей
  • функцию strconv.QuoteRune,
    которая экранирует руну, заключая её в одинарные кавычки
  • функцию strconv.Unquote,
    которая выполняет обратное преобразование, удаляя кавычки и раскрывая escape-последовательности
  • функцию strconv.CanBackquote,
    которая проверяет, можно ли представить строку без экранирования используя обратные кавычки