Why this matters
If a type assertion is wrong, it causes a run-time panic. By using the two-value form (value, ok := iface.(Type)), your code can gracefully handle a bad type instead of crashing. This is especially important when dealing with interfaces like interface{} or json.Unmarshalled data where the type isn't guaranteed.