В книге "Быстрый язык программирования" (стр. 599) я наткнулся на этот фрагмент кода, который меня смутил. Это было так:
func buyFavoriteSnack(person:String) throws {
let snackName = favoriteSnacks[person] ?? "Candy Bar"
try vend(itemName:snackName)
}
Его объяснение было:
Функция buyFavoriteSnack (_:) просматривает данную любимую закуску и пытается ее купить. Если у них нет любимой закуски, она пытается купить конфету. Если они...
Как это объяснение можно сопоставить с "??" оператора в указанном коде. Когда мы/должны использовать этот синтаксис в нашем собственном коде?