[go] Go 언어에서의 경로를 이용한 파일 내용 비교

Go 언어를 사용하여 두 파일의 내용을 비교하려면 파일을 읽고 각 줄을 비교해야 합니다. 이를 위해 문장별로 파일을 읽어 각각의 줄을 비교할 수 있습니다.

파일 읽기

먼저, 파일을 읽기 위해 os 패키지를 사용합니다.

package main

import (
    "os"
    "log"
)

func main() {
    file1, err := os.Open("file1.txt")
    if err != nil {
        log.Fatal(err)
    }
    defer file1.Close()

    file2, err := os.Open("file2.txt")
    if err != nil {
        log.Fatal(err)
    }
    defer file2.Close()
}

파일 내용 비교

파일 내용을 비교하기 위해 두 파일의 각 줄을 읽어 비교합니다.

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    // 파일 읽기 코드는 여기에 있어야 합니다.

    scanner1 := bufio.NewScanner(file1)
    scanner2 := bufio.NewScanner(file2)

    for scanner1.Scan() && scanner2.Scan() {
        line1 := scanner1.Text()
        line2 := scanner2.Text()

        if line1 != line2 {
            fmt.Printf("Difference found: %s | %s\n", line1, line2)
        }
    }

    if err := scanner1.Err(); err != nil {
        log.Fatal(err)
    }
    if err := scanner2.Err(); err != nil {
        log.Fatal(err)
    }
}

위 코드에서는 file1file2의 내용을 한 줄씩 읽어 비교하고, 다른 부분이 나타나면 그 부분을 출력합니다.

이제 두 파일의 내용을 비교하는 방법을 익혔습니다. 필요에 따라 사용하거나 수정하여 다양한 상황에 대응할 수 있습니다.

참고 자료: