Go에서 텍스트 파일 작업 가이드

Go에서 텍스트 파일 작업 가이드

프로그래밍 언어인 Go에는 텍스트(.txt) 파일과 같은 파일을 만들고 읽고 쓰는 기능을 포함하여 다양한 내장 기능이 있습니다.





파일은 현대 사회에서 우리 일상 생활의 중요한 구성 요소입니다. 텍스트 파일은 외부 소프트웨어나 데이터베이스를 사용하지 않고 사람이 읽을 수 있는 구조화된 데이터를 저장하는 데 유용합니다.





MAKEUSEOF 오늘의 비디오

Go에서 텍스트 파일 조작을 시작하는 방법이 궁금하다면 이 기사가 적합한 곳입니다.





Go의 bufio 패키지

그만큼 부피오 Go의 표준 라이브러리의 일부인 패키지는 버퍼링된 입력 및 출력 작업에 사용되므로 이름이 지정됩니다. 그만큼 부피오 패키지는 다음을 기반으로 합니다. io.리더 그리고 io.Writer 대부분의 Go 표준 패키지 구현에 광범위하게 사용되는 인터페이스.

ps5에는 헤드셋이 포함되어 있습니까?

그만큼 부피오 패키지는 버퍼링을 구현하여 한 단계 더 나아가 텍스트 데이터와 관련된 IO 작업에 유용합니다.



단어에 직선을 추가하는 방법

사용하려면 부피오 패키지를 프로그램에 포함하려면 다른 패키지와 함께 가져와야 합니다.

import ( 
"fmt"
"bufio"
)

당신은 아마 당신이 Go를 시작했습니다 프로그래머로서 필요할 수 있는 모든 것이 함께 제공됩니다. 운영 체제와 직접 통신하기 위한 패키지가 있습니다. 플랫폼 독립적인 기능을 제공합니다.





그만큼 그리고 부피오 패키지는 텍스트 파일 조작을 매우 간단하게 만듭니다.

비록 대다수가 패키지의 기능은 Unix와 유사하며 모두 Go 스타일의 오류 처리를 사용하므로 오류 메시지를 읽고 코드를 디버그하기가 간단합니다.





그렇다면 Go에서 텍스트가 포함된 파일을 어떻게 조작합니까?

텍스트 파일에서 데이터를 읽는 방법

텍스트 파일에서 데이터를 읽으려면 다음을 호출해야 합니다. 패키지의 열려 있는() 매개변수로 읽을 파일의 이름을 받아들이는 함수입니다. 파일을 가져오는 또 다른 방법은 다음을 사용하는 것입니다. 파일 열기() 기능.

비디오에서 오디오를 제거하는 방법

사이의 주요 차이점 열려 있는() 그리고 파일 열기() 구현 중입니다. 열려 있는() 파일을 읽기 전용 모드로 엽니다( O_RDONLY 플래그) 동안 파일 열기() 다음과 같은 세 가지 매개변수를 허용하여 더 많은 유연성을 제공합니다.

  • 파일 이름
  • 파일 열기 모드: 유효한 파일 열기 모드는 아래 표에 나와 있습니다.
    깃발 의미
    O_RDONLY 파일을 읽기 전용 모드로 엽니다.
    O_WRONLY 쓰기 전용 모드에서 파일을 엽니다.
    O_RDWR 파일을 읽기-쓰기 모드로 엽니다.
    O_APPEND 쓸 때 파일에 데이터 추가
    O_CREATE 파일이 없으면 새 파일을 만듭니다.
    O_EXCL 파일이 존재하지 않는 경우에만 생성되어야 함을 나타내기 위해 O_CREATE와 함께 사용
    O_SYNC 동기 I/O용 파일을 엽니다.
    O_TRUNC 가능한 경우 파일을 열 때 자르기
  • 파일 권한: 와 동일 Linux의 파일 권한 비트 파일 액세스 규칙을 지정하는 데 사용됩니다(예: 모든 사용자 유형에 읽기, 쓰기 및 실행 권한을 부여하기 위해 0777).

아래 코드는 다음을 사용하여 Go의 텍스트 파일에서 데이터를 읽는 방법을 보여줍니다. os.Open() , 그리고 주사() 이 경우 실행되는 루프로 이동 .

package main 
import (
"bufio"
"fmt"
"log"
"os"
)
/**
CONTENT OF THE "testfile.txt" file.
lorem ipsum dolor sit amet
LOREM IPSUM DOLOR SIT AMET
Lorem ipsum dolor sit amet
Lorem Ipsum Dolor Sit Amet
lOREM iPSUM dOLOR sIT aMET
LoReM IpSuM DoLoR SiT AmEt
*/
func main() {
file, err := os.Open("testfile.txt")
// another method using os.OpenFile()
// file, err = os.OpenFile("testfile.txt", os.O_RDONLY, 0644)
if err != nil {
log.Fatal(err)
}
defer file.()
fmt.Println("File opened successfully. Now reading file contents line by line:")
// create scanner from the file to read text from
scanner := bufio.NewScanner(file)
// scan or read the bytes of text line by line
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}

위의 코드를 실행하면 이동하여 filename.go를 실행하십시오. , 아래와 같은 출력을 생성합니다.

  파일에서 텍스트를 읽는 프로그램의 출력