如何避免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 關注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消