为了账号安全,请及时绑定邮箱和手机立即绑定

避免在嵌套的 if/else 中编写相同的 else 语句

避免在嵌套的 if/else 中编写相同的 else 语句

Go
慕神8447489 2023-06-12 17:00:01
如何避免else在嵌套的 if/else 语句中写两次语句?func GetPortFromEnvironment(name string, defaultPort int32) int32 {    var port int32    if env := os.Getenv("SERVICE_PORT"); env != "" {        if _port, err := strconv.ParseInt(env, 10, 32); err != nil {            port = int32(_port)        } else {            port = defaultPort        }    } else {        port = defaultPort    }    return port}去
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

我将避免使用包含可选语句的 if :


if statement; condition {  

}

并使用简单的 if :


func GetPortFromEnvironment(name string, defaultPort int32) int32 {

    env := os.Getenv("SERVICE_PORT")


    // no env value. return defaultPort

    if env == "" {

      return defaultPort

    }


    // there's env value.

    port, err := strconv.ParseInt(env, 10, 32)

    if err != nil {


       // Unable to parse port. Fallback to default.

       return defaultPort

    }


    return int32(port)

}



查看完整回答
反对 回复 2023-06-12
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信