• เป็นตัวจัดรูปแบบที่ยังคง เข้ากันได้ย้อนหลัง กับ gofmt เดิม แต่บังคับใช้กฎที่เข้มงวดกว่า
  • สามารถใช้แทนได้แบบ ดรอปอิน เพราะเป็นสับเซ็ตของรูปแบบที่ gofmt ยอมรับ ดังนั้นแม้จะรัน gofumpt แล้วตามด้วย gofmt ก็จะไม่มีการเปลี่ยนแปลงเพิ่มเติม
  • ปรับความต่างของสไตล์ให้เป็นแบบเดียวกันโดยอัตโนมัติ ในจุดที่ gofmt จัดการไม่ได้
    • ลบ บรรทัดว่าง ช่องว่าง และวงเล็บ ที่ไม่จำเป็นโดยอัตโนมัติ
    • แยก standard library ใน import ออกเป็นอีกหนึ่งกลุ่ม
    • var s = "x"s := "x", 07550o755, //Foo// Foo
    • ใช้ กฎการจัดรูปแบบเพิ่มเติมอีกหลายข้อ เช่น ทำให้การขึ้นบรรทัดใหม่ของ composite literal สม่ำเสมอ
  • จะข้ามไดเรกทอรี vendor, testdata หากไม่ได้ระบุเป็นอาร์กิวเมนต์อย่างชัดเจน และจะไม่ใช้กฎเพิ่มเติมกับไฟล์ Go ที่ถูกสร้างขึ้นมาอัตโนมัติ
  • ปฏิบัติตาม directive ignore ใน go.mod
  • "ทำไมถึงไม่สร้างไว้บน gofmt แต่เลือก แทนที่?"
    • ตัวการออกแบบเองสร้างอยู่บน gofmt และจะไม่เพิ่มกฎที่ขัดแย้งกับการจัดรูปแบบของ gofmt — เป็นการขยายความสามารถ ไม่ใช่การแข่งขัน
    • เพื่อให้ใช้แทน gofmt แบบดรอปอินได้ใน editor/script จึงใช้แนวทางเป็นสำเนาที่ดัดแปลงมาของ gofmt

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น