字符转换
-
目标:
使用Go语言,函数LetterChanges(str)将传递str参数,并使用以下算法对其进行修改。
1. 转换的要求的是只转换 字母表的字母 'A'(65) --> 'Z'(90) and 'a'(97) -> 'z'(122)
2. 转换的算法是将字符向前进一位. ('A' + 1 = 'B')
3. 当前的字符为 'z' 直接被转为 a. , 'Z' 直接转换为 'A'
4. 转换后的字母为原音字母时, 需要大写, 字母大写的方式 ('a' ---> 'A' 'a' - 32)
func LetterChanges(str string) string {
if len(str) == 0 {
return ""
}
charArr := []rune(str)
for index , value := range charArr{
if (value >= 65 && value <= 90) || (value >= 97 && value <= 122){
if value == 122 {
charArr[index] = 'a'
}
value = value + 1
if isOriginalSound(value){
value = value - 32
}
charArr[index] = value
}
}
return string(charArr)
}
//判断是否是元音字母.
func isOriginalSound(value rune)bool{
originalSound := []string{"a" , "e" , "i" , "o", "u"}
for _, v := range originalSound{
if v == string(value) {
return true
}
}
return false;
}