如何避免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)
}
- 1 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消