bufio
패키지의 ReadBytes
메서드로 거의 충족되는 기능을 필요로하는 코드를 작성했습니다. 특히이 메서드는 특정 바이트가 발생할 때까지 Reader
에서 읽습니다. 몇 바이트 (공간, 줄 바꿈 및 탭 주로) 중 하나를 만날 때까지 읽는 것이 필요합니다.기존 (표준) 패키지에 새 함수 추가
라이브러리의 소스를 살펴본 결과 bufio
구조체에서 사용하는 내부 버퍼에 액세스 할 수 있다면 어떻게해야하는지 알았습니다. 패키지를 "원숭이 패치"하고 다른 방법을 2 개 추가 할 수있는 방법이 있습니까? 또는 내가 필요한 기능을 얻는 또 다른 방법은 무엇입니까? 이 방법을 따라
개인 숨겨진 필드가있는 주된 이유는 향후 구현이 사용자에게 영향을 미치지 않고 발전 할 수있게하는 것입니다. 바이트에 액세스하도록 허용하면이 보증이 깨집니다. 그래서 독자적인 (제한적인) Reader 구조체 및 메서드를 만드는 것보다 다른 적절한 방법을 보지 못합니다. –
실제 문제 (특정 데이터 형식 읽기)에 대해 염두에두고있는 하나의 솔루션 (강화 된 bufio)에 대한 답변과 의견에서 알 수 있듯이 Go의 패키지 기능은 실제로 그렇게하지 못하도록 설계되었습니다. 다른 솔루션을 고려해 보거나 데이터 형식에 대한 세부 정보가 포함 된 다른 질문을 게시하고 "이 다중 구분 기호 형식을 읽는 좋은 방법은 무엇입니까?"라고 묻는 것이 좋습니다. – Sonia