Go:
การเขียนไฟล์ข้อความ
วิธีการ:
ใน Go, การเขียนลงไฟล์ข้อความจัดการโดยแพ็คเกจ os
และ io/ioutil
(สำหรับเวอร์ชัน Go <1.16) หรือ os
และ io
บวกกับแพ็คเกจ os
สำหรับ Go 1.16 ขึ้นไป, แสดงถึงปรัชญาของ Go ในเรื่องความง่ายและประสิทธิภาพ การใช้ API ใหม่เป็นการส่งเสริมแนวปฏิบัติที่ดีกว่าด้วยการจัดการข้อผิดพลาดที่ง่ายขึ้น มาดูกันว่าจะสร้างและเขียนลงไฟล์ข้อความใช้แพ็คเกจ os
ของ Go อย่างไร
ขั้นแรก, ตรวจสอบให้แน่ใจว่าสภาพแวดล้อม Go ของคุณตั้งค่าเรียบร้อยแล้ว จากนั้น, สร้างไฟล์ .go
, เช่น writeText.go
, และเปิดมันในตัวแก้ไขข้อความหรือ IDE ของคุณ
นี่คือตัวอย่างที่ตรงไปตรงมาซึ่งเขียนสตริงลงในไฟล์ชื่อว่า example.txt
:
package main
import (
"os"
"log"
)
func main() {
content := []byte("Hello, Wired readers!\n")
// สร้างหรือเขียนทับไฟล์ example.txt
err := os.WriteFile("example.txt", content, 0644)
if err != nil {
log.Fatal(err)
}
}
เมื่อคุณเรียกใช้โค้ดนี้โดยใช้ go run writeText.go
, จะส่งผลให้สร้าง (หรือเขียนทับหากมีอยู่แล้ว) ไฟล์ชื่อ example.txt
พร้อมด้วยเนื้อหา “Hello, Wired readers!”.
การเพิ่มเนื้อหาเข้าไปในไฟล์
ถ้าคุณต้องการเพิ่มเนื้อหาล่ะ? Go มีวิธีการที่ยืดหยุ่นในการจัดการเช่นนี้เช่นกัน:
file, err := os.OpenFile("example.txt", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
log.Fatal(err)
}
defer file.Close()
if _, err := file.WriteString("Appending more text.\n"); err != nil {
log.Fatal(err)
}
ตัวอย่างนี้เปิด example.txt
ในโหมดเพิ่มเติม, เขียนบรรทัดเพิ่มเติม, และตรวจสอบให้แน่ใจว่าไฟล์ถูกปิดอย่างเหมาะสมถึงแม้จะเกิดข้อผิดพลาด
ทำความลึกซึ้ง
การพัฒนาวิธีการจัดการไฟล์ของ Go สะท้อนให้เห็นถึงความมุ่งมั่นเพื่อความง่ายและประสิทธิภาพของโค้ดในวงกว้าง ในเวอร์ชันก่อนหน้านี้พึ่งพาแพ็คเกจ ioutil
มากขึ้น, ต้องใช้คำสั่งที่ค่อนข้างยาวและมีโอกาสเกิดข้อผิดพลาดสูงกว่า เปลี่ยนเส้นทางเพื่อเพิ่มประสิทธิภาพในแพ็คเกจ os
และ io
, โดยเฉพาะตั้งแต่เวอร์ชัน 1.16 เป็นต้นไป, แสดงให้เห็นถึงการเดินหน้าของ Go อย่างมีจุดมุ่งหมายเพื่อการทำงานกับไฟล์ที่มีประสิทธิภาพมากขึ้น, ส่งเสริมการจัดการข้อผิดพลาดที่สอดคล้องกันมากขึ้น, และทำให้ภาษานี้เข้าถึงได้ง่ายยิ่งขึ้น
แม้แพ็คเกจที่ให้มากับ Go จะเพียงพอสำหรับกรณีใช้งานหลายอย่าง, แต่มีสถานการณ์ที่แพ็คเกจเสริมหรือไลบรารีภายนอกอาจเป็นที่ต้องการ, โดยเฉพาะอย่างยิ่งสำหรับการดำเนินการกับไฟล์ที่ซับซ้อนมากขึ้นหรือเมื่อทำงานภายในเฟรมเวิร์กขนาดใหญ่ที่มีการนำเสนอนามธรรมเฉพาะของตนเองสำหรับการจัดการไฟล์ อย่างไรก็ตาม, สำหรับงานเขียนไฟล์ที่ตรงไปตรงมา, ห้องสมุดมาตรฐานมักจะให้เส้นทางที่มีประสิทธิภาพและเป็นลักษณะเฉพาะสุดในการเขียนโปรแกรม Go การเปลี่ยนไปใช้ API สำหรับการดำเนินการกับไฟล์ที่ง่ายขึ้น, มากขึ้นมีส่วนช่วยให้โค้ด Go เขียนและรักษาได้ง่ายขึ้นและยังชูปรัชญาของความง่าย, การอ่านได้อย่างง่ายดาย, และความปฏิบัติการ