Go에서 텍스트 파일 읽기
Go에서 텍스트 파일을 읽으려면 os 및 io 패키지를 사용합니다. 작동 방식은 다음과 같습니다.
파일 열기
첫 번째 단계는 os.Open() 함수를 사용하여 텍스트 파일을 여는 것입니다. 이 함수는 파일 설명자를 나타내는 *os.File 포인터를 반환합니다. 예는 다음과 같습니다.
file, err := os.Open("file.txt") if err != nil { log.Fatal(err) }
파일 내용 읽기
파일이 열리면 해당 내용에 액세스할 수 있습니다. 이를 수행하는 방법에는 여러 가지가 있습니다:
1. io.ReadAll() 사용:
이 함수는 파일의 모든 내용을 바이트 슬라이스로 읽어옵니다. 전체 파일을 한번에 읽어야 할 경우 효율적입니다.
b, err := io.ReadAll(file) fmt.Print(b)
2. *os.File.Read() 사용:
파일을 청크로 읽을 수도 있습니다. 데이터를 점진적으로 처리해야 하는 경우에 유용합니다.
buf := make([]byte, 32*1024) // Custom buffer size for { n, err := file.Read(buf) if n > 0 { fmt.Print(buf[:n]) } if err == io.EOF { break } if err != nil { log.Fatal(err) } }
3. bufio.Scanner 사용:
bufio 패키지는 파일을 스캔하고 한 줄씩 읽는 편리한 방법을 제공합니다.
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) }
파일 닫기
파일을 다 읽었으면 리소스를 공개하기 위해 파일을 닫는 것을 잊지 마세요. *os.File 유형은 io.Closer 인터페이스를 구현하므로 file.Close()를 사용할 수 있습니다.
추가 리소스
위 내용은 Go에서 텍스트 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!