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 –
val
will receive either the value of “foo” from the map or a “zero value” (in this case the empty string) andok
will receive a bool that will be set totrue
if “foo” was actually present in the map - evaluates
ok
, which will betrue
if “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.