Eliminar los caracteres UTF-8 no válidos de una cadena (Go lang)

Obtengo esto en json.Marshal de una lista de cadenas:

json: invalid UTF-8 in string: "...ole\xc5\"

El motivo es obvio, pero ¿cómo puedo eliminar / reemplazar tales cadenas en Go? He estado leyendo docst enunicode yunicode/utf8 Paquetes y no parece una forma obvia / rápida de hacerlo.

En Python, por ejemplo, tiene métodos para eliminar los caracteres no válidos, reemplazarlos por un carácter específico o una configuración estricta que genera excepciones en caracteres no válidos. ¿Cómo puedo hacer algo equivalente en Go?

ACTUALIZACIÓN: Me refiero a la razón para obtener una excepción (¿pánico?) - char ilegal en lo que json.Marshal espera que sea una cadena UTF-8 válida.

(la forma en que la secuencia de bytes ilegal ingresó en esa cadena no es importante, de la forma habitual: errores, corrupción de archivos, otros programas que no se ajustan a Unicode, etc.)

Respuestas a la pregunta(2)

Su respuesta a la pregunta