doujieyu7062 2017-07-13 04:23 采纳率: 0%
浏览 131
已采纳

为什么在此代码的函数结尾处缺少返回值?

func getKeyNameFromDeploymentAndSubnet(subnetType SubnetType, deploymentType DeploymentType, keyNameMap map[SubnetType]string) string {
    if (deploymentType == NoDeployment || deploymentType == PDBAWindows || deploymentType == AgentDeployment) {
        return keyNameMap[subnetType]
    }
    else if (deploymentType == AnsibleDeployment) {
        return "bar"
    }
    return "foo"
}

In the first if statement, I get an error of missing return at end of function error. I don't get this error if I remove the else if statement. Where am I going wrong?

  • 写回答

2条回答 默认 最新

  • dongque8332 2017-07-13 04:32
    关注

    You get this error because else statement must be on the same line as the closing } of the first condition.

    func getKeyNameFromDeploymentAndSubnet(subnetType SubnetType, deploymentType DeploymentType, keyNameMap map[SubnetType]string) string {
        if deploymentType == NoDeployment || deploymentType == PDBAWindows || deploymentType == AgentDeployment {
            return keyNameMap[subnetType]
        } else if deploymentType == AnsibleDeployment {
            return "bar"
        }
        return "foo"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?