ว่าง ๆ เขียนโปรแกรมด้วยภาษา Go
อยากให้โปรแกรมที่เขียนทำการ reload ทันที
หลังจากที่ทำการเปลี่ยนแปลง code 
นั่นคือทำการ build และ run ใหม่นั่นเอง
มาลองหาวิธีกันดู

ปกติพัฒนาฝั่ง Frontend ทั้ง React/Angular/Vue นั้นมีให้แบบชิว ๆ

แต่ในฝั่ง backend ไม่ค่อยมีเท่าไร
ปกติจะใช้ watch คอยดูว่ามีอะไรเปลี่ยนแปลง
จากนั้นจึงทำการ build และ run ใหม่

มาลองดูสิว่า สำหรับภาษา Go มีอะไรให้ใช้บ้าง ?

เมื่อลองไปค้นหาดูพบว่า มีเพียบเลย ทั้งทำเอง
ทั้งใช้ library ยกตัวอย่างเช่น

มาลองใช้ Air เล่น ๆ กันดู

เริ่มต้นด้วยการติดตั้ง มีทั้ง command line ให้ใช้ และ Docker Image
มาใช้แบบ command line ก็แล้วกัน

การติดตั้งสำหรับ MacOS

ทำการ setup project และใช้ Air ดังนี้

ถ้าต้องการแก้ไข configuration ของ Air
ทำการสร้างไฟล์ .air.conf ขึ้นมา
จากนั้นก็ไป copy มาจากไฟล์ .air.conf.example
แล้วทำการแก้ไขตามที่ต้องการ

ยกตัวอย่างเช่น
ผมทำการย้าย main.go ไปไว้ใน folder cmd ดังนี้

เมื่อทุกอย่างพร้อมก็ run Air เลย
ถ้าแก้ไขไฟล์ใด ๆ จะทำการ reload ใหม่
นั่นคือการ build และ run นั่นเอง ได้ผลดังนี้

เพียงเท่านี้ก็สามารถมี Live reload ของระบบงานที่พัฒนาด้วยภาษา Go แล้ว
ง่าย ๆ มาก

ตัวอย่างของ project ที่ลองใช้อยู่ที่ GitHub:Up1

Tags:,