Автор громко называет это "the hidden gem of 1.22”, но на самом деле это довольно мелкая полезность. Я, краем глаза, обратил на этот cmp.Or внимание, когда читал “что нового в 1.22”, но прошел мимо. И да, это про Go, если вдруг вы сами еще не догадались.



А вообще, это весьма полезная мелочь. Он приводит 2 основных использования:



- name := cmp.Or(jwt.Username(), "Almanack”) типа orElse для того, чтобы взять default, если первый (первые) параметры zero для этого типа.

- второе менее очевидно, но тоже весьма полезно - для упрощения цепочек сортировки по нескольким значениям.



https://blog.carlana.net/post/2024/golang-cmp-or-uses-and-history/



UPD: важно иметь ввиду, что эта функция “cannot do short-circuit evaluation”