Roman Kitaev, нельзя. Только в пустой интерфейс можно закинуть сам объект. Описанный интерфейс обязан быть указателем. http.ResponseWriter это не пустой интерфейс, так что туда примется только указатель.
Александр Амплеев, а где у вас прописан путь до файлов? В приведенном коде вижу только один роут на корень.
Нужно добавить еще роут для раздачи вспомогательных файлов вашего проекта (css, js, картинки, итд...)
Александр Амплеев, вариантов много, начиная от сервера из стандартной библиотеки безо всяких роутеров, заканчивая фреймворками типа gin. Сейчас посмотрю ваш вариант.
Roman, в го всегда именно то, что написано в коде. Если в коде создается новый слайс при создании экземпляра, то и будет создаваться новый слайс.
Копирование в го не всегда, если кладете указатель, то и кладется указатель. Если кладете значение, но копируется значение.
Roman, нет, как раз в вашем варианте го будет создавать слайс с функциями для каждого экземпляра структуры, ибо вы заполняете этот слайс данными в конструкторе.
У меня же слайс заполняется данными один раз при старте приложения, а дальше переиспользуется всеми экземплярами.
falconandy, я все еще не понимаю, зачем заполнять массив опкодов при создании каждой виртуальной машины. Если опкоды статические и не меняются, их надо вынести в отдельный пакет и сделать там глобальной переменной. Заполнять при старте приложения и всё!
Roman, Прошу прощения, сначала неверно понял. Думал, что вы пытаетесь реализовать динамические методы у самих классов, как в js.
Сейчас примерно понял задачу, но не понял зачем в классе Test хранятся и поля a, b и указатели на методы? При этом, методы заполняются каждый раз при создании Test. Почему нельзя сделать некий один общий объект, который хранит маппинг опкодов на методы, а в Test оставить только a и b?
И что вы понимаете под "картой методов"? Если ассоциативный массив, то в го он называется map. opcodes map[int8]func() int8
Roman, именно потому и выжирает много ресурсов, что там это динамическая структура.
Зачем вам именно динамическая мапа со ссылками на функции? Какую задачу вы этим пытаетесь решить? Чем не подходят статические методы?