ภาษา Go 1.8 กำลังจะถูกปล่อยตัวเต็ม ๆ ออกมาในเดือนหน้า
ตอนนี้อยู่ในสถานะ beta 2
ซึ่งมี feature ที่น่าสนใจมากมาย ตัวอย่างเช่น
- HTTP/2 Push
- HTTP Server graceful shutdown
- Plugins
- Default ของ GOPATH
- Go bug เป็น command สำหรับส่ง bug report ไปยัง Github Issue
เริ่มด้วยการติดตั้งผ่าน Go get
[code] $go get golang.org/x/build/version/go1.8beta2 [/code] เมื่อติดตั้งด้วยคำสั่ง [code] $go1.8beta2 download [/code] เพียงเท่านี้ก็ใช้งานได้แล้วมาดูอย่างแรกก็คือ Default GOPATH
โดยจะมีค่า default มาให้- Unix อยู่ที่ $HOME/go
- Windows อยู่ที่ %USERPROFILE%/go
ต่อมาลองใช้งาน plugin กันหน่อย ใช้ได้เฉพาะบน Linux เท่านั้นนะ
ตัวอย่างเป็นการสร้าง plugin สำหรับการบวกเลขจำนวนเต็ม 2 ค่า สามารถเขียน plugin ชื่อว่า add_plugin.go ได้ดังนี้ [gist id="a15e2fbd8bf88a102719784f07247968" file="add_plugin.go"] จากนั้นทำการ build plugin ด้วยคำสั่ง [code] $go1.8beta2 build -buildmode=plugin add_plugin.go [/code] ผลที่ได้คือไฟล์ add_plugin.so ปล. อย่าลืม import “C” นะ เดี๋ยวจะ error ตอนใช้งานแบบนี้ [gist id="a15e2fbd8bf88a102719784f07247968" file="error.txt"] จากนั้นสร้างไฟล์สำหรับใช้งาน add_plugin ดังนี้ [gist id="a15e2fbd8bf88a102719784f07247968" file="main.go"] มีขั้นตอนการทำงานดังนี้- ทำการ load plugin หรือ share library ที่สร้างไว้นั่นคือไฟล์ add_plugin.so
- ทำการ lookup หรือหา function/variable ชื่อว่า Add
- ทำการเรียกใช้งาน function Add จาก plugin