Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpAnOw 128 of 299 menu
◀ ▶

Своя пометка в Kotlin

Свой тип пометки описывают через annotation class. У него нет тела с логикой - только параметры, которые компилятор сохраняет вместе с меткой. Строковый параметр удобен для короткой подписи команды или модуля.

Объявление метки с одним строковым полем выглядит так:

annotation class Owner(val team: String)

Перед функцией указывают имя метки и значение параметра в скобках. Компилятор связывает подпись с объявлением функции:

annotation class Owner(val team: String) @Owner("billing") fun chargeInvoice() { println("charge") }

Тот же тип можно повесить на класс - тогда пометка относится ко всему типу, а не к одной команде:

annotation class Owner(val team: String) @Owner("platform") class GatewayConfig(val endpoint: String) fun main() { val cfg = GatewayConfig("https://api.local") println(cfg.endpoint) }

Объявите метку с параметром layer типа String. Повесьте её на функцию записи лога и на класс настроек очереди с одним строковым свойством. Значения слоя должны различаться.

Создайте экземпляр класса настроек из предыдущей задачи и выведите его строковое свойство из main.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить