структура https://play.golang.org/p/rXAg6_UnMLV
Т.е. есть подпакет, в котором объявлен глобальный (не экспортируемый) указатель на структуру, есть функция Start, которая инициализирует его (и ещё запускает воркеров, т.е. она блокирующая; не знаю, влияет ли это на мою ситуацию). Также объявлено много функций, которые планируется использовать вне пакета, а функции внутри себя вызывают методы той структуры, указатель на которую глобален.
В итоге когда я запускаю main, первая же функция паникует из-за nil pointer dereference, т.е. в obj ничего не лежит (хотя Start туда помещает объект).
Во-первых, почему так происходит? И во-вторых, как это пофиксить? Возвращать стартом структуру и сделать все DoSmth её методами не очень хочется, т.е. это чистый синглтон и как будто очень много когда непонятно для чего.
А почему решили, что горутины выполнит я быстрее следующего метода?
Блин, я вот сам сейчас об этом подумал. Вынес воркеров в отдельную функцию, чтобы инициализация шла синхронно, сейчас буду тестить.
Обсуждают сегодня