เห็นว่าใน 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 กันหน่อยดังนี้
[gist id="600d787509a5fd0b057a481b0e15f959" file="1.txt"]เพิ่งรู้ว่ามีวิธี download Go ใน version development มาใช้ด้วย gotip !!
จากนั้นทำการสร้างไฟล์ go.work ขึ้นมา
เพื่อ reference หรือใช้งาน module ต่าง ๆ ที่ต้องการบน local
[gist id="600d787509a5fd0b057a481b0e15f959" file="go.work"]การใช้งานสามารถ run และ build ได้ปกติ
แต่ถ้าไม่ต้องการใช้งาน Go workspace ตอน build ก็ใช้ -workfile-off ได้
ปล. ส่วนไฟล์ go.work ก็ไม่แนะนำให้เอาเข้า version control ด้วย