[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-1-1-all-go-file-handling-reading-writing-all--*":3,"academy-blog-translations-z6exmz5a4gi5wie":79},{"data":4,"page":67,"perPage":67,"totalItems":67,"totalPages":67},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_path":11,"created":12,"created_by":13,"expand":14,"id":73,"keywords":74,"locale":49,"published_at":75,"scheduled_at":13,"school_blog":71,"short_description":76,"slug":77,"status":69,"title":6,"updated":78,"updated_by":13,"views":72},"EP.12 Go กับ File Handling: อ่านเขียนไฟล์ได้ไม่ยาก!","sclblg987654321","school_blog_translations","\u003Cp>\u003Cspan style=\"font-size:20px;\">\u003Cstrong>Go กับ File Handling: อ่านเขียนไฟล์ได้ไม่ยาก!\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\u003Cp>การจัดการไฟล์เป็นพื้นฐานที่สำคัญของโปรแกรมที่ดี วันนี้เราจะมาสอนวิธีอ่านและเขียนไฟล์อย่างง่ายด้วย Go!\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>\u003Cspan style=\"font-size:18px;\">\u003Cstrong>1. File Handling ใน Go คืออะไร?\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cbr>การจัดการไฟล์เป็นส่วนสำคัญของการพัฒนาโปรแกรม เช่น การบันทึกข้อมูลลงไฟล์ หรืออ่านข้อมูลจากไฟล์เพื่อนำมาใช้ในโปรแกรม\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>\u003Cspan style=\"font-size:18px;\">\u003Cstrong>2. การเขียนไฟล์ด้วย ioutil.WriteFile()\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cbr>วิธีที่ง่ายที่สุดในการเขียนข้อมูลลงไฟล์:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">package main\r\n\r\nimport (\r\n    \"io\u002Fioutil\"\r\n    \"log\"\r\n)\r\n\r\nfunc main() {\r\n    content := []byte(\"Hello, Go!\")\r\n    err := ioutil.WriteFile(\"example.txt\", content, 0644)\r\n    if err != nil {\r\n        log.Fatal(err)\r\n    }\r\n}\r\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>หมายเหตุ: 0644 คือ Permission ของไฟล์ที่สามารถอ่านได้ทุกคน แต่แก้ไขได้เฉพาะเจ้าของไฟล์\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>\u003Cspan style=\"font-size:18px;\">\u003Cstrong>3. การอ่านไฟล์ด้วย ioutil.ReadFile()\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cbr>ลองอ่านข้อมูลจากไฟล์ที่เขียนไว้:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">package main\r\n\r\nimport (\r\n    \"fmt\"\r\n    \"io\u002Fioutil\"\r\n    \"log\"\r\n)\r\n\r\nfunc main() {\r\n    content, err := ioutil.ReadFile(\"example.txt\")\r\n    if err != nil {\r\n        log.Fatal(err)\r\n    }\r\n    fmt.Println(string(content))\r\n}\r\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>\u003Cspan style=\"font-size:18px;\">\u003Cstrong>4. การใช้ os สำหรับเปิดและปิดไฟล์อย่างปลอดภัย\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cbr>ใช้แพ็กเกจ os สำหรับจัดการไฟล์ในระดับที่ยืดหยุ่นมากขึ้น และใช้ defer เพื่อปิดไฟล์:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">package main\r\n\r\nimport (\r\n    \"log\"\r\n    \"os\"\r\n)\r\n\r\nfunc main() {\r\n    file, err := os.Open(\"example.txt\")\r\n    if err != nil {\r\n        log.Fatal(err)\r\n    }\r\n    defer file.Close()\r\n\r\n    log.Println(\"File opened successfully\")\r\n}\r\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>\u003Cspan style=\"font-size:18px;\">\u003Cstrong>5. การเขียนไฟล์แบบ Append\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cbr>บางครั้งคุณต้องการเพิ่มข้อมูลต่อท้ายไฟล์เดิม:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">package main\r\n\r\nimport (\r\n    \"os\"\r\n)\r\n\r\nfunc main() {\r\n    f, err := os.OpenFile(\"example.txt\", os.O_APPEND|os.O_WRONLY, 0644)\r\n    if err != nil {\r\n        panic(err)\r\n    }\r\n    defer f.Close()\r\n\r\n    if _, err := f.WriteString(\"\\nAppended content!\"); err != nil {\r\n        panic(err)\r\n    }\r\n}\r\u003C\u002Fcode>\u003C\u002Fpre>","23_11zon_cmoqlufou6.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fif701u45yomuwut\u002F23_11zon_cmoqlufou6.webp","2026-03-04 08:51:52.074Z","",{"keywords":15,"locale":43,"school_blog":53},[16,23,28,33,38],{"collectionId":17,"collectionName":18,"created":19,"created_by":13,"id":20,"name":21,"updated":22,"updated_by":13},"sclkey987654321","school_keywords","2026-03-04 08:51:50.254Z","6nkk61dvy4u5pjr","Append","2026-04-10 16:14:40.631Z",{"collectionId":17,"collectionName":18,"created":24,"created_by":13,"id":25,"name":26,"updated":27,"updated_by":13},"2026-03-04 08:51:50.542Z","ut75ptasgqhi8jp","ReadFile","2026-04-10 16:14:40.767Z",{"collectionId":17,"collectionName":18,"created":29,"created_by":13,"id":30,"name":31,"updated":32,"updated_by":13},"2026-03-04 08:51:51.198Z","ez61k8wbi1s3xby","WriteFile","2026-04-10 16:14:40.986Z",{"collectionId":17,"collectionName":18,"created":34,"created_by":13,"id":35,"name":36,"updated":37,"updated_by":13},"2026-03-04 08:46:34.858Z","92g4t32mafdjos0","File Handling","2026-04-10 16:13:15.837Z",{"collectionId":17,"collectionName":18,"created":39,"created_by":13,"id":40,"name":41,"updated":42,"updated_by":13},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"code":44,"collectionId":45,"collectionName":46,"created":47,"flag":48,"id":49,"is_default":50,"label":51,"updated":52},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":54,"collectionId":55,"collectionName":56,"expand":57,"id":71,"views":72},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs",{"category":58},{"blogIds":59,"collectionId":60,"collectionName":61,"created":62,"created_by":13,"id":54,"image":63,"image_alt":13,"image_path":64,"label":65,"name":66,"priority":67,"publish_at":68,"scheduled_at":13,"status":69,"updated":70,"updated_by":13},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":66,"th":66},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-04-25 02:32:15.470Z","z6exmz5a4gi5wie",324,"if701u45yomuwut",[20,25,30,35,40],"2025-01-27 04:32:47.768Z","เรียนรู้การเขียนและอ่านไฟล์ในภาษา Go รวมถึงการเปิดและปิดไฟล์อย่างปลอดภัย และการเขียนข้อมูลแบบ Append","go-file-handling-reading-writing","2026-04-22 07:11:50.595Z",{"th":77}]