การดู : 0

12/04/2026 18:19น.

EP.12 Go กับ File Handling: อ่านเขียนไฟล์ได้ไม่ยาก!

EP.12 Go กับ File Handling: อ่านเขียนไฟล์ได้ไม่ยาก!

#Append

#ReadFile

#WriteFile

#File Handling

#Go

Go กับ File Handling: อ่านเขียนไฟล์ได้ไม่ยาก!

การจัดการไฟล์เป็นพื้นฐานที่สำคัญของโปรแกรมที่ดี วันนี้เราจะมาสอนวิธีอ่านและเขียนไฟล์อย่างง่ายด้วย Go!

 

1. File Handling ใน Go คืออะไร?
การจัดการไฟล์เป็นส่วนสำคัญของการพัฒนาโปรแกรม เช่น การบันทึกข้อมูลลงไฟล์ หรืออ่านข้อมูลจากไฟล์เพื่อนำมาใช้ในโปรแกรม

 

2. การเขียนไฟล์ด้วย ioutil.WriteFile()
วิธีที่ง่ายที่สุดในการเขียนข้อมูลลงไฟล์:

package main

import (
    "io/ioutil"
    "log"
)

func main() {
    content := []byte("Hello, Go!")
    err := ioutil.WriteFile("example.txt", content, 0644)
    if err != nil {
        log.Fatal(err)
    }
}

หมายเหตุ: 0644 คือ Permission ของไฟล์ที่สามารถอ่านได้ทุกคน แต่แก้ไขได้เฉพาะเจ้าของไฟล์

 

3. การอ่านไฟล์ด้วย ioutil.ReadFile()
ลองอ่านข้อมูลจากไฟล์ที่เขียนไว้:

package main

import (
    "fmt"
    "io/ioutil"
    "log"
)

func main() {
    content, err := ioutil.ReadFile("example.txt")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(string(content))
}

 

4. การใช้ os สำหรับเปิดและปิดไฟล์อย่างปลอดภัย
ใช้แพ็กเกจ os สำหรับจัดการไฟล์ในระดับที่ยืดหยุ่นมากขึ้น และใช้ defer เพื่อปิดไฟล์:

package main

import (
    "log"
    "os"
)

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

    log.Println("File opened successfully")
}

 

5. การเขียนไฟล์แบบ Append
บางครั้งคุณต้องการเพิ่มข้อมูลต่อท้ายไฟล์เดิม:

package main

import (
    "os"
)

func main() {
    f, err := os.OpenFile("example.txt", os.O_APPEND|os.O_WRONLY, 0644)
    if err != nil {
        panic(err)
    }
    defer f.Close()

    if _, err := f.WriteString("\nAppended content!"); err != nil {
        panic(err)
    }
}