if val, ok := dict["foo"]; ok {
//do something here
}
if statements in Go can include both a condition and an initialization statement. The example above uses both:
- initializes two variables –
valwill receive either the value of “foo” from the map or a “zero value” (in this case the empty string) andokwill receive a bool that will be set totrueif “foo” was actually present in the map - evaluates
ok, which will betrueif “foo” was in the map
If “foo” is indeed present in the map, the body of the if statement will be executed and val will be local to that scope.