package str import ( "fmt" "hash/fnv" "strings" ) var markdownV2Escapes = []string{"_", "[", "]", "(", ")", "~", "`", ">", "#", "+", "-", "=", "|", "{", "}", ".", "!"} var markdownEscapes = []string{"_", "*", "`", "["} func MarkdownV2Escape(s string) string { for _, esc := range markdownV2Escapes { if strings.Contains(s, esc) { s = strings.Replace(s, esc, fmt.Sprintf("\\%s", esc), -1) } } return s } func MarkdownEscape(s string) string { for _, esc := range markdownEscapes { if strings.Contains(s, esc) { s = strings.Replace(s, esc, fmt.Sprintf("\\%s", esc), -1) } } return s } func Int32Hash(s string) uint32 { h := fnv.New32a() h.Write([]byte(s)) return h.Sum32() } func Int64Hash(s string) uint64 { h := fnv.New64a() h.Write([]byte(s)) return h.Sum64() }