การ Compile Go คืออะไร ?
ภาษา Go เป็นภาษาที่ต้องการ Compiler ที่จะต้อง Compile ไฟล์ทุกไฟล์ใน project เราก่อน ที่จะสามารถ run project ของเราได้ คล้ายกับ C และ Fortran.
( Reference : https://medium.com/young-coder/the-difference-between-compiled-and-interpreted-languages-d54f66aa71f0 )
โดยเหมือนกับ C ที่ go สามารถสร้างไฟล์ binary executable ได้
พูดง่าย ๆ คือเราสามารถสร้างไฟล์ 1 ไฟล์ที่เทียบเท่ากับ project ของเราทั้ง project และ สามารถ run ไฟล์นั้นโดยไม่ต้องมี go อยู่ในเครื่องก็ได้
โดยเราสามารถสร้างไฟล์ binary executable ได้จากคำสั่ง go build
go build
เมื่อเรา run แล้ว go ก็จะทำการ Download package ต่าง ๆ แล้วสร้างไฟล์สำหรับ run ขึ้นมา
หลังจาก run go build แล้ว ไฟล์ shorturl-redirector.exe ก็จะโผล่ออกมา
( สำหรับ windows ไฟล์ที่ออกมาจะเป็น .exe แต่ใน mac หรือ linux ไฟล์ที่ออกมาจะป็นไฟล์ที่ไม่มี .exe )
โดยชื่อไฟล์ที่เรา build จะเปลี่ยนไปตามชื่อ module ที่เราตั้งในไฟล์ go.mod
เราสามารถเปลี่ยนชื่อไฟล์ตอน build ได้ผ่านการใส่ -o ตามด้วยชื่อไฟล์
go build -o ชื่อไฟล์