gpt4 book ai didi

go - 简化 golang 中重复出现的 switch case

转载 作者:行者123 更新时间:2023-12-01 23:06:49 25 4
gpt4 key购买 nike

我想了解是否有更好的方法来简化 golang 中重复出现的 switch case。我有一个可以返回多个错误的方法,但我对 3 个特定错误感兴趣,在这些错误中我需要返回一个特定的注释错误而不是一般错误。但是 case1,case2 返回 err1,err2 但是在 case3 的情况下,我需要使用不同的参数调用相同的方法,并且如果方法返回 err1,err2 也需要处理。如果您有任何建议,请提供。目前我正在以下面的方式处理,但试图看看我是否可以简化调用 case1、case2 的重复性。

    _, err := doSomething(var1)
if err != nil {
switch err.Error() {
case case1:
return err1
case case2:
return err2
case case3:
_, err := doSomething(var2)
switch err.Error() {
case case1:
return err1
case case2:
return err2
default:
return err
}
default:
return err

如果您需要更多详细信息或需要对我的问题本身进行更多说明,请告诉我。

提前致谢。

最佳答案

翻译特殊情况下的错误。继续常见的处理。

_, err := doSomething(var1)
if err != nil {
if err.Error() == case3 {
_, err = doSomething(var2)
}
switch err.Error() {
case case1:
return err1
case case2:
return err2
default:
return err
}
}

关于go - 简化 golang 中重复出现的 switch case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70732787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com