Estoy escribiendo un código que necesita funcionalidad que está casi satisfecho con el método ReadBytes
en el paquete bufio
. Específicamente, ese método lee desde un Reader
hasta que encuentra un byte particular. Necesito algo que lea hasta que encuentre uno de cada dos bytes (espacio, nueva línea y pestaña principalmente).Agregar una nueva función a un paquete existente (estándar)
Miré la fuente de la biblioteca y sé qué hacer si tengo acceso al búfer interno utilizado por las estructuras bufio
. ¿Hay alguna manera de que yo pueda "aplicar un parche de mono" al paquete y agregarle otro método o dos? ¿O alguna otra forma de obtener la funcionalidad que necesito?
Una de las principales razones por las que hay campos ocultos privados es permitir que la implementación evolucione en el futuro sin afectar a los usuarios. Permitirle acceder a byte rompería esta garantía. Por lo tanto, no veo otra manera adecuada de crear su propia estructura y método de Lector (limitado). –
Su pregunta es sobre una solución (mejora de bufio) que tiene en mente para su problema real (leer un determinado formato de datos). Como indican las respuestas y los comentarios, las características del paquete de Go fueron realmente diseñadas para impedirlo. Sería mejor considerar otras soluciones, o incluso publicar otra pregunta en SO con detalles de su formato de datos y preguntar: "¿Cuál es una buena forma de leer este formato de delimitación múltiple?" – Sonia