func rotateString(s string, n int, encdec bool) (string, error) { l := len(s) if l < 1 { return "", fmt.Errorf("empty input") } if n < 1 || n > 6 { return "", fmt.Errorf("invalid shift n %d", n) } var out string switch encdec { case true: // obfuscate for i := 0; i < l; i++ { out += string(int(s[i]) + n) } case false: // deobfuscate for i := 0; i < l; i++ { out += string(int(s[i]) - n) } } return out, nil }