Go的Addslashes和Stripslashes


// 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)
}
func Stripslashes(str string) string {// stripslashes 删除由 addslashes()  添加的反斜杠
    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)
}