Функция strconv.AppendQuote

Функция strconv.AppendQuote преобразует переданную строку в строковый литерал, заключенный в двойные кавычки, и добавляет результат к слайсу байт. В первый параметр функция принимает слайс байт []byte, во второй параметр - строку, которую нужно преобразовать. Функция возвращает новый слайс байт, содержащий исходные данные и добавленную строку в кавычках.

Синтаксис

gostrconv.AppendQuote(dst []byte, s string) []byte

Пример

Давайте добавим строку 'hello' в кавычках к пустому слайсу байт:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  dst := []byte{}
  res := strconv.AppendQuote(dst, "hello")
  fmt.Println(string(res))
}

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

go"hello"

Пример

Давайте добавим строку 'world' в кавычках к уже существующему слайсу байт:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  dst := []byte("prefix:")
  res := strconv.AppendQuote(dst, "world")
  fmt.Println(string(res))
}

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

goprefix:"world"

Пример

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

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  dst := []byte{}
  res := strconv.AppendQuote(dst, "hello\nworld")
  fmt.Println(string(res))
}

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

go"hello\nworld"

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

  • функцию strconv.Quote,
    которая преобразует строку в строковый литерал с кавычками
  • функцию strconv.QuoteToASCII,
    которая преобразует строку в ASCII-безопасный литерал с кавычками
  • функцию strconv.AppendBool,
    которая добавляет строковое представление булевого значения к слайсу байт
  • функцию strconv.Unquote,
    которая удаляет кавычки из строкового литерала