strings.ReplaceAll(str, "\n", "\\n")
之前过滤换行符的方法是这样的,导致转义换行符时把回车也给替换了
var str1 = `1
2
3
`
var str2 = `1\n2\n3`
fmt.Println(strings.Contains(str1, "\n"),strings.Contains(str2, "\n"))
//print true true
把""换为``结果就正常了
var str1 = `1
2
3
`
var str2 = `1\n2\n3`
fmt.Println(strings.Contains(str1, `\n`),strings.Contains(str2, `\n`))
//print false true
Golang限定字符或者字符串一共三种引号,单引号(''),双引号("") 以及反引号(``)。反引号就是标准键盘“Esc”按钮下面的那个键。
Golang中的单引号,更类似于C语言中的char类型,其实不能算字符串,因为只能是单个的字符。
Golang中的双引号,才是字符串,单行的,多个字符(字母数字)。
Golang中的反引号,类似Python的三引号,可以这行的字符串,所有转义字符将被忽略...