Ответ
При возврате Zero Value вторым параметром обычно возвращается false (для проверки существования значения) или nil (если это ошибка).
Пример с map:
m := map[string]int{"foo": 1}
val, ok := m["bar"] // val = 0 (Zero Value), ok = false (ключа нет)
Пример с type assertion:
var i interface{} = 42
num, ok := i.(float64) // num = 0.0 (Zero Value), ok = false (не float64)
Для ошибок (например, в sync.Map):
var m sync.Map
val, ok := m.Load("missing") // val = nil, ok = false