美文网首页程序员
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