Что такое ~int в constraints?

Middle+
190 просмотров
AFK Offer AI

Тильда ~int означает "int и любой тип с underlying type int". Без тильды: interface { int } — подходит ТОЛЬКО int. С тильдой: interface { ~int } — подходит int, type MyInt int, type Age int, и так далее. Это критически важно для реальных приложений — люди часто создают type definitions, и без тильды generic функция их не примет. Стандартные constraints типа constraints.Ordered используют тильду: ~int | ~int8 | ~float64 | ~string | ...

Следующий вопрос

В каком порядке выполняются init в разных пакетах?