package main import ( //"fmt" "strings" "unicode/utf8" ) var key string="name" func main() { //apostrophe src := "aaaaaaaaaa`" src += ` bbbbbbbbbbbb cccccccccccccccc ` src += "`ddddddddddddd" println( PrepareJS(src) ) } func PrepareJS(src string) string { idx := 0 b:= new(strings.Builder) escape := false for idx < len(src) { rune, adj := utf8.DecodeRuneInString( src[idx:] ) if rune == '\n' { if escape { b.WriteString(`\`) b.WriteRune(rune) }else{ b.WriteRune(rune) } }else if rune == '`'{ if escape { escape = false }else{ escape = true } b.WriteString(`"`) }else{ b.WriteRune(rune) } idx += adj } return b.String() }