panic в go существует по большей части для того, чтоб остановить программу с ошибкой. Не для обработки ошибок, а именно программу с ошибкой. То есть кривой код.
Поэтому паника будет при делении на 0, обращении к nil, записи в неинициализированной мапе....
вещи типа regexp.MustCompile существуют, т.к программа не считается "валидной" при не валидном регулярном выражении
По сути это обработка ошибок в коде, которые компилятор не может выявить на этапе компиляции
panic в go существует по большей части для того, чтоб остановить программу с ошибкой. Не для обработки ошибок, а именно программу с ошибкой. То есть кривой код.
Поэтому паника будет при делении на 0, обращении к nil, записи в неинициализированной мапе....
вещи типа regexp.MustCompile существуют, т.к программа не считается "валидной" при не валидном регулярном выражении
По сути это обработка ошибок в коде, которые компилятор не может выявить на этапе компиляции