특정 파일 줄을 효율적으로 읽는 방법
프로그래밍에서 파일의 특정 줄을 읽어야 하는 경우가 자주 발생합니다. 이를 해결하기 위해 ReadLine이라는 기능이 개발되었습니다. 원하는 결과를 효과적으로 달성하지만 여전히 남아 있는 질문이 있습니다. 더 우수하고 효율적인 접근 방식이 있습니까?
ReadLine 기능은 bufio.Scanner를 활용하여 파일을 한 줄씩 탐색합니다. 지정된 줄 번호에 도달하면 줄 텍스트, 현재 줄 번호 및 잠재적인 스캔 오류를 검색하고 반환합니다.
<code class="go">func ReadLine(r io.Reader, lineNum int) (line string, lastLine int, err error) { sc := bufio.NewScanner(r) for sc.Scan() { lastLine++ if lastLine == lineNum { return sc.Text(), lastLine, sc.Err() } } return line, lastLine, io.EOF }</code>
그러나 이 함수는 파일이 메모리에 들어갈 수 있다고 가정한다는 점에 주목할 가치가 있습니다. 엄청나게 큰 파일의 경우 전체 파일을 메모리에 저장하지 않고 파일을 한 줄씩 처리하는 대체 전략이 더 적합할 수 있습니다.
위 내용은 파일에서 특정 줄을 읽는 더 효율적인 방법이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!