มีคำถามที่น่าสนใจคือ ในการ return JSON response
จาก REST API ที่พัฒนาด้วยภาษา Go
แล้วทำไมไม่เรียง property ตามที่เขียนใน code
โดย code ตัวอย่างเป็นดังนี้

จากตัวอย่างใช้ Gin

ผลที่ได้จาก code เป็นดังนี้
โดยทำไมไม่เรียงตามที่เขียนใน code

คำตอบ

เมื่อเข้าไปดู code ใน package encoding/json จะพบว่า
ในการ encode นั้นจะเก็บข้อมูลในรูปแบบของ Map ก่อน
จากนั้นทำการเรียงลำดับจากตัวอักษรจาก key ของ Map นั่นเอง

แต่ถ้าเราใช้ struct แทน จะการเรียงตาม index ให้เลย
ตัวอย่าง codeดังนี้