Убедитесь, что тип реализует интерфейс во время компиляции в Go

Как я могу гарантировать, что тип реализует интерфейс во время компиляции? Типичный способ сделать это — отказаться от назначения поддержки интерфейсов из этого типа, однако у меня есть несколько типов, которые преобразуются только динамически. Во время выполнения это генерирует очень грубые сообщения об ошибках без лучшей диагностики, предоставляемой для ошибок времени компиляции. Также очень неудобно обнаруживать во время выполнения, что типы, которые, как я ожидал, будут поддерживать интерфейсы, на самом деле не поддерживают.

15
задан Matt Joiner 9 May 2012 в 06:41
поделиться