เขียนเกมด้วย Go บน Windows
ใช้แต่เครื่อง MacOS เดี๋ยวจะว่าลืมต้นทุนเก่า คอมพิวเตอร์เครื่องแรกก็ลง Windows นี่แหละ บทความนี้จึงอยากนำเสนอการเขียนภาษา Golang บน Windows ครับ ไม่ค่อยใช้นานผิดตรงไหนโปรดชี้แนะด้วยนะทุกคน
ตั้งใจอยากใช้ Go เขียนเกมเล่นสักหน่อย ก็ไปเจอไลบรารีชื่อ ebiten.org บอกเลยว่ายังไม่เคยอ่านมันจริงจัง งั้นมาลองพร้อมกันดีกว่า
ติดตั้ง Golang
การติดตั้งภาษา Golang หรือสั้นๆว่า Go สำหรับ Windows นั้นไม่ได้ยากเลย ตรงไปที่ Download Go แล้วเลือกรูปแบบการติดตั้งที่ต้องการ ผมเลือกแบบ .zip มองหาได้ที่หัวข้อ Stable versions ครับ
จากนั้นผมย้าย .zip นี้ไปไว้ที่ C:\Users\<username>
แกะ .zip แล้วเปลี่ยนชื่อเป็น go เฉยๆ
เรียก Command line ขึ้นมา พิมพ์
go version
Windows ยังไม่รู้จัก Go เลย ต้อง set Path ก่อน
GOROOT vs GOPATH
เราต้องบอก Windows ให้รู้จักตัวแปรระดับ global สองตัวแปร ได้แก่
- GOROOT บอกว่า Go folder อยู่ไหน แล้วจะหา bin folder ได้ตรงไหน
- GOPATH บอกว่า workspace สำหรับเขียนโปรแกรม Go ตรงไหนดีล่ะ
GOROOT
- คลิกขวาที่ This PC เลือก Advanced system settings
- เลือก Advanced tab แล้วกดปุ่ม Environment Variables
- เลือก user ของเราเอง คือส่วนของ User variables for <username>
- กดปุ่ม New เพื่อสร้างตัวแปรให้กับระบบ
- Variable name ตั้งว่า GOROOT
- Variable value ระบุไปว่า go folder ติดตั้งไว้ที่ไหน
กดปุ่ม OK จากนั้นมีขั้นตอนอีกนิด
7. เลือกตัวแปร Path
8. กดปุ่ม Edit (ระวังด้วย ห้ามลบตัวแปรนี้เด็ดขาด)
9. หน้าต่าง Edit environment variable กดปุ่ม New
10. เพิ่ม %GOROOT%/bin
เสร็จแล้วกดปุ่ม OK
ปิดเปิด Command line ใหม่ แล้วพิมพ์ go version
อีกครั้ง
เอาล่ะได้ go มาใช้แล้ว ดูหน่อยว่า GOPATH มีค่าเป็นอะไร
ที่ Command line พิมพ์
go evn
ยังไม่ได้กำหนดค่า
GOPATH
กำหนดตัวแปรตัวนี้เพื่อแยกพื้นที่ทำงานออกมาจาก go folder ดังนั้นเพื่อนๆก็เลือกเอาที่ชอบใจ
ผมเลือกเป็น C:\Users\<username>\goworkspace
จากขั้นตอนที่ 4 กดปุ่ม NEW เพิ่มตัวแปรชื่อ GOPATH แล้วนำ path ข้างต้นไปกำหนดค่าแก่มัน
กดปุ่ม OK
เช่นเดียวกับ GOROOT ให้ทำขั้นตอนที่ 7, 8 และ 9 สำหรับ GOPATH
เพิ่ม %GOPATH%
ปิดเปิด Command line ใหม่ แล้วพิมพ์ go env
เรียบร้อย
HelloWorld
เขียน Go โปรแกรมแรกกับพระเจ้า Hello World
ใช้ MS VS Code เปิดไปที่ goworkspace
สร้างไฟล์ main.go
เรียก Terminal ของ MS VS Code หรือ Command line ก็ได้ พิมพ์
go run main.go
ผลลัพธ์
go : The term ‘go’ is not recognized as the name of a cmdlet,
function, script file, or operable program
มันบอกว่าไม่รู้จัก go
อื่ม… ให้ปิดเปิด MS VS Code ใหม่
ลองอีกครั้ง
หา go เจอแล้ว งั้นจัด
package main
func main() { }
สั่ง Hello World
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
เก่งมาก
Ebiten
มาถึงคราวของ Ebiten สักทีนะ ลองดูว่าเราสามารถรันมันได้ไหม
ที่ Command line พิมพ์
go get github.com/hajimehoshi/ebiten
ผลลัพธ์
go: missing Git command. See https://golang.org/s/gogetcmd
package github.com/hajimehoshi/ebiten: exec: “git”: executable file not found in %PATH%
ต้องติดตั้งโปรแกรม Git ก่อนสินะ
เสร็จแล้ว ปิดเปิด MS VS Code แล้วเรียก go get github.com/hajimehoshi/ebiten
รอจนกว่าเครื่องหมาย prompt จะพร้อม
รัน
go run -tags=example github.com/hajimehoshi/ebiten/examples/rotate
โดยทั่วไปผมจะเขียนโปรแกรมด้วย MacOS เป็นหลักครับ ไว้พบกันใหม่