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

How do I avoid having to write the else statement twice in nested if/else statements?

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
}

I'll avoid using if which includes an optional statement:

if statement; condition {  
}

and using simple if with:

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)
}