Голанг не экранирует строковую переменную - PullRequest
0 голосов
/ 27 апреля 2018

Мы можем использовать "` ", чтобы не экранировать строку:

package main

import "fmt"

func main()  {
    fmt.Println(`abc\tdef`) // abc\tdef
}

Но как получить или напечатать неэкранированную строковую переменную?

package main

import "fmt"

func main()  {
    s := "abc\tdef"
    fmt.Println(s) // abc def
}

1 Ответ

0 голосов
/ 27 апреля 2018

Используйте %#v и Sprintf:

package main

import "fmt"

func main()  {
    s := "abc\tdef"
    s = fmt.Sprintf("%#v", s)
    fmt.Println(s) // "abc\tdef"
}

%#v: Go-синтаксическое представление значения

Sprintf: Sprintf форматирует в соответствии со спецификатором формата и возвращает полученную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...