Конфигурация через опции-функции: NewServer(WithTimeout(5), WithHost("localhost")). Each option - функция, изменяющая конфиг или сам объект. Конструктор принимает ...Option. Гибко, расширяемо, без длинного списка необязательных параметров. Популярен в Go-библиотеках.