package main

// addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
// 预定义字符是:
// 单引号(')
// 双引号(")
// 反斜杠(\)
func Addslashes(str string) string {
tmpRune := []rune{}
strRune := []rune(str)
for _, ch := range strRune {
switch ch {
case []rune{'\\'}[0], []rune{'"'}[0], []rune{'\''}[0]:
tmpRune = append(tmpRune, []rune{'\\'}[0])
tmpRune = append(tmpRune, ch)
default:
tmpRune = append(tmpRune, ch)
}
}
return string(tmpRune)
}

// stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
func Stripslashes(str string) string {
dstRune := []rune{}
strRune := []rune(str)
strLenth := len(strRune)
for i := 0; i < strLenth; i++ {
if strRune[i] == []rune{'\\'}[0] {
i++
}
dstRune = append(dstRune, strRune[i])
}
return string(dstRune)
}