12/04/2026 18:19น.

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)
}
}