美文网首页程序员
GoLang 字符转换

GoLang 字符转换

作者: super小立立 | 来源:发表于2017-09-29 16:06 被阅读0次

字符转换

  • 目标:

    使用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;
}

相关文章

网友评论

    本文标题:GoLang 字符转换

    本文链接:https://www.haomeiwen.com/subject/anviextx.html