if
can be replaced with else if
CRT-A00111311 if !one {
1312 if cnt > 0 {
1313 ind.Set(slice)
1314 } else {1315 // when a result is empty and container is nil
1316 // to Set an empty container
1317 if ind.IsNil() {
490func RegisterDriver(driverName string, typ DriverType) error {
491 if t, ok := drivers[driverName]; !ok {
492 drivers[driverName] = typ
493 } else {494 if t != typ {
495 return fmt.Errorf("driverName `%s` db driver already registered and is other type", driverName)
496 }
173 }
174 if result, err := ctrl.RenderString(); err != nil {
175 t.Fatal(err)
176 } else {177 if result != "<div>value2</div>" {
178 t.Fatalf("TestAdditionalViewPaths expect %s got %s", "<div>value2</div>", result)
179 }
190 } else if m, ok := db.(map[string]interface{}); !ok {
191 t.Log(db)
192 t.Fatal("db not map[string]interface{}")
193 } else {194 if m["host"].(string) != "host" {
195 t.Fatal("get host err")
196 }
285 if field.Kind() != reflect.Slice {
286 err = fmt.Errorf("rel/reverse:many field must be slice")
287 goto end
288 } else {289 if field.Type().Elem().Kind() != reflect.Ptr {
290 err = fmt.Errorf("rel/reverse:many slice must be []*%s", field.Type().Elem().Name())
291 goto end
A single nested if
inside an else
block can be replaced with an else if
.
It's better to have as little nesting as possible. Hence, it's cleaner to
replace a single nested if
inside an else
with an else-if
.
if cond1 {
// do something
} else {
if x := cond2; x {
// do something else
}
}
if cond1 {
// do something
} else if x := cond2; x {
// do something else
}