DevToolPal
ไทย

จัดรูปแบบโค้ด Go

จัดรูปแบบซอร์สโค้ด Go ด้วย gofmt ที่คอมไพล์เป็น WebAssembly และทำงานในเบราว์เซอร์ของคุณ

ทำงานในเครื่อง ไม่มีการอัปโหลด

ตัวเลือก

ย่อหน้า

อินพุต

0 ตัวอักษร · 0 B

เอาต์พุต

0 ตัวอักษร · 0 B

เครื่องมือนี้ทำอะไรได้

ตัวจัดรูปแบบ Go เขียนซอร์สโค้ด Go ใหม่ให้เป็นสไตล์มาตรฐานหนึ่งเดียวที่ชุมชน Go ทั้งหมดใช้ วางไฟล์หรือโค้ดบางส่วน แล้วจะได้การย่อหน้า ช่องว่าง การจัดกลุ่ม import และการจัดแนวฟิลด์ของ struct และคอมเมนต์แบบ gofmt

เครื่องมือนี้รัน gofmt ตัวจริงจาก Go toolchain ที่คอมไพล์เป็น WebAssembly ไม่มีอะไรเป็นการประมาณ: สิ่งที่เห็นที่นี่คือสิ่งที่ go fmt จะเขียนทุกประการ โค้ดที่จัดรูปแบบแล้วจึง commit ได้โดยไม่ทำให้เกิด diff ใน CI

วิธีใช้งาน

  1. วางโค้ด Go หรือเปิดไฟล์ .go
  2. โค้ดที่จัดรูปแบบแล้วจะแสดงทางขวาขณะที่คุณพิมพ์
  3. ใช้การย่อหน้าแบบ Tab สำหรับโค้ดที่จะ commit เลือก 2 ช่องว่าง หรือ 4 ช่องว่าง เมื่อโค้ดจะไปอยู่ในเอกสาร สไลด์ หรือเว็บไซต์ที่แสดงแท็บกว้างเกินไป
  4. คัดลอกหรือดาวน์โหลดผลลัพธ์

หากโค้ด parse ไม่ได้ เครื่องมือจะแสดงข้อผิดพลาดแรกพร้อมบรรทัดและคอลัมน์ เช่น expected ')', found '{' และคุณกระโดดไปที่บรรทัดนั้นได้ทันที

ตัวอย่าง

ตัวอย่างเป็นโปรแกรมสั้น ๆ ที่ถูกบีบให้เหลือน้อยบรรทัดที่สุด: import คั่นด้วยอัฒภาค struct อยู่ในสองบรรทัด และฟังก์ชันที่ไม่มีช่องว่างรอบตัวดำเนินการ หลังจัดรูปแบบ:

  • import จะกลายเป็นบล็อกในวงเล็บ หนึ่งแพ็กเกจต่อบรรทัด
  • ฟิลด์ของ struct แยกเป็นบรรทัดของตัวเอง และจัดแนวชนิดข้อมูลให้ตรงคอลัมน์
  • if u.Age<18{ จะกลายเป็น if u.Age < 18 { โดยเนื้อหาอยู่บรรทัดของตัวเอง
  • composite literal ได้ช่องว่างหลังจุลภาคและทวิภาค

สิ่งที่ gofmt เปลี่ยนและไม่เปลี่ยน

gofmt เปลี่ยนเฉพาะเลย์เอาต์ ไม่เคยเปลี่ยนชื่อ identifier เรียงลำดับ declaration ใหม่ หรือลบ import ที่ไม่ได้ใช้ งานเหล่านั้นเป็นหน้าที่ของเครื่องมืออย่าง goimports และ go vet และยังคงการขึ้นบรรทัดใหม่ของคุณไว้ในจุดที่มีความหมาย รายการอาร์กิวเมนต์ยาว ๆ ที่คุณแบ่งไว้หลายบรรทัดจึงยังแบ่งอยู่

คอมเมนต์ถูกเก็บไว้และย่อหน้าใหม่ตามโค้ดรอบ ๆ คอมเมนต์ท้ายบรรทัดในบรรทัดที่ติดกันจะถูกจัดแนวเป็นคอลัมน์ เหมือนฟิลด์ของ struct

เคล็ดลับ

  • การจัดรูปแบบเป็นวิธีเร็ว ๆ ในการหาวงเล็บปีกกาที่หายไป: ตำแหน่งข้อผิดพลาดมักชี้ไปที่บรรทัดแรกหลังจุดที่ผิด
  • รันตัวจัดรูปแบบก่อนแชร์โค้ดใน issue หรือการรีวิว ผู้รีวิวจะได้โฟกัสที่สิ่งที่โค้ดทำ แทนที่จะเป็นหน้าตาของโค้ด
  • ในเอดิเตอร์ของคุณ เปิด “format on save” ด้วย gopls เพื่อให้ไฟล์ตรงกับผลลัพธ์นี้เสมอ

คำถามที่พบบ่อย

› นี่คือ gofmt ตัวจริงหรือไม่?

ใช่ ตัวจัดรูปแบบคือโค้ด gofmt จาก Go toolchain ที่คอมไพล์เป็น WebAssembly ผลลัพธ์จึงตรงกับที่ `gofmt` หรือ `go fmt` พิมพ์บนเครื่องของคุณทุกไบต์

› ต้องมี package clause หรือไม่?

ไม่จำเป็น ไฟล์เต็มดีที่สุด แต่ gofmt ก็รับรายการ declaration หรือคำสั่งไม่กี่บรรทัดได้ สะดวกสำหรับโค้ดที่คัดลอกมาจากบล็อกหรือแชต

› ทำไมใช้แท็บในการย่อหน้า?

gofmt ย่อหน้าด้วยแท็บและจัดแนวด้วยช่องว่างเสมอ นั่นคือธรรมเนียมของ Go และเอดิเตอร์แสดงแท็บได้ตามความกว้างที่คุณต้องการ หากต้องการช่องว่างสำหรับเอกสารหรือสไลด์ ให้เลือก 2 หรือ 4 ช่องว่าง ระบบจะแทนที่เฉพาะแท็บที่อยู่ต้นบรรทัด

› โค้ดของฉันถูกอัปโหลดหรือไม่?

ไม่ โมดูล WebAssembly ถูกดาวน์โหลดเพียงครั้งเดียว และการจัดรูปแบบทำงานในเบราว์เซอร์ของคุณ