บันทึกการเรียน Golang วันที่ 7 - TIL เรื่อง Go Workspace
สวัสดีครับ วันนี้เป็นบันทึกการเรียน Go วันที่ 7 แบบสั้นๆ ไม่เยอะมาก เนื่องจาก 2-3 วันมานี้ไม่มีเวลาหลังเลิกงานเลย ก็เลยไม่ได้เรียน วันนี้กลับมาเรียน Go ใหม่ โดยหัดทำ REST API ง่ายๆ แต่ประเด็นคือ ผมจะรวบรวม go หลายๆ project ไว้ใน Repository เดียว เป็น Repo บันทึกการเรียน Golang ของผมไว้ที่นี่
ปัญหาคือ VS Code มันขึ้น Error ประมาณว่า
This file is within module "YOUR_FOLDER", which is not included in your workspace.
To fix this problem, you can add a go.work file that uses this directory.
เลยได้ความว่าต้องไปศึกษา เกี่ยวกับ Workspace วันนี้เลยบันทึกเป็น Workspace แทนละกัน แล้วเดี๋ยววันพรุ่งนี้ ค่อยมาบันทึกการทำ REST API

Go Workspace
ได้ความรู้ใหม่ว่า ตัว workspace ถูกเพิ่มเข้ามาใน Go v1.18 ตัว Workspace ทำให้เราสามารถทำงานหลายๆ modules ได้ วิธีการสร้าง Go Workspace ที่ root folder ด้วยคำสั่ง
go work init
เพิ่ม module ลงไป ใช้คำสั่ง
go work use ./<path_to_module>
จะมีไฟล์ go.work
- เป็นไฟล์ที่บอกว่า ใน workspace เราจะใช้ modules ไหนบ้าง หน้าตาประมาณนี้
go 1.21.0
use ./learn-go-day-4
use ./learn-go-day-6
use ./learn-go-day-8
ทีนี้ ผมสามารถรัน go ที่ root project ได้เลย
go run ./learn-go-day-4
จบไปแล้วสำหรับวันนี้ ก็เป็นเรื่อง Today I Learned ที่ได้รู้วันนี้ นอกจากเรื่อง Workspace ก็มีเรียนเรื่อง REST API เบื้องต้น แต่ว่ายังไม่เสร็จ เอาไว้เขียนสรุป รวมทีเดียว ของ Day 8 เลยละกัน
Happy Coding ❤️
Reference
