You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Go语言中通过一个函数的结果调用另一个函数

Go语言函数调用修正与目标输出实现

问题修正点

你的代码存在两处问题:main函数有语法错误,且Generate函数的逻辑无法生成期望的321gnAlOgIAh输出。以下是修正方案:

完整修正代码

package main

import "fmt"

func Reverse(str string) string {
    r := ""
    for i := len(str) - 1; i >= 0; i-- {
        r += string(str[i])
    }
    return r 
}

func Generate(str string) string {
    reversedStr := Reverse(str)
    var processedStr string
    // 遍历反转后的字符串,处理元音字符
    for _, char := range reversedStr {
        processedStr += string(char)
        // 遇到小写元音,追加对应大写元音
        switch char {
        case 'a':
            processedStr += "A"
        case 'e':
            processedStr += "E"
        case 'i':
            processedStr += "I"
        case 'o':
            processedStr += "O"
        case 'u':
            processedStr += "U"
        }
    }
    // 再次反转得到最终结果
    return Reverse(processedStr) 
}

func main() {
    fmt.Println(Generate("haigolang123"))
}

逻辑说明

  1. 函数调用修正:main函数直接调用Generate函数,传入目标字符串,即可串联Reverse与Generate的逻辑。
  2. Generate逻辑调整:
    • 先反转输入字符串得到321gnalogiah;
    • 遍历该字符串,遇到小写元音时,在原字符后追加对应大写元音(如a变为aA,o变为oO),非元音直接保留;
    • 最后再次反转处理后的字符串,得到目标输出321gnAlOgIAh。

运行结果

执行代码后,控制台将输出:

321gnAlOgIAh

内容的提问来源于stack exchange,提问作者zacharyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:45:35