ใน Go 1.18 นั้นกำลังพัฒนากันอยู่
มี feature ที่น่าสนใจคือ Go Workspace สำหรับ Multi-module development
ซึ่งปกติแล้วก็ทำได้ผ่านไฟล์ go.mod ดังที่เคยเขียนไว้
แต่ปัญหาที่ตามมาคือ
ถ้าเราต้องการ develop บน local โดยใช้ multi module บนเครื่อง
แต่เมื่อ production ก็ไปใช้ของจริง
ดังนั้นจึงมีแนวคิดด้วยการสร้างไฟล์ go.work ขึ้นมา
เพื่อให้ง่ายต่อการพัฒนาแบบ multi-module บน local ได้ง่าย

ดังนั้นมาลองใช้งานกัน

ก่อนอื่นทำการติดตั้ง Go 1.18 ซึ่งเป็น development version กันหน่อยดังนี้

เพิ่งรู้ว่ามีวิธี download Go ใน version development มาใช้ด้วย gotip !!

จากนั้นทำการสร้างไฟล์ go.work ขึ้นมา

เพื่อ reference หรือใช้งาน module ต่าง ๆ ที่ต้องการบน local

การใช้งานสามารถ run และ build ได้ปกติ
แต่ถ้าไม่ต้องการใช้งาน Go workspace ตอน build ก็ใช้ -workfile-off ได้

ปล. ส่วนไฟล์ go.work ก็ไม่แนะนำให้เอาเข้า version control ด้วย

Tags:,