ภาษา Go 1.8 กำลังจะถูกปล่อยตัวเต็ม ๆ ออกมาในเดือนหน้า
ตอนนี้อยู่ในสถานะ beta 2
ซึ่งมี feature ที่น่าสนใจมากมาย ตัวอย่างเช่น
- HTTP/2 Push
- HTTP Server graceful shutdown
- Plugins
- Default ของ GOPATH
- Go bug เป็น command สำหรับส่ง bug report ไปยัง Github Issue
เรามาลองใช้งาน feature ใหม่ ๆ กันหน่อย
ปล.
สามารถดูรายละเอียดเพิ่มเติมได้ที่ Go 1.8 Release Notes
เริ่มด้วยการติดตั้งผ่าน Go get
$go get golang.org/x/build/version/go1.8beta2
เมื่อติดตั้งด้วยคำสั่ง
$go1.8beta2 download
เพียงเท่านี้ก็ใช้งานได้แล้ว
มาดูอย่างแรกก็คือ Default GOPATH
โดยจะมีค่า default มาให้
- Unix อยู่ที่ $HOME/go
- Windows อยู่ที่ %USERPROFILE%/go
ตัวอย่างผมใช้ MacOS จะแสดงอยู่ที่ $HOME/go
แสดงดังนี้
ซึ่งทำให้เราสามารถติดตั้งพวก command line package ได้ง่าย ๆ
เหมือนกับ npm ได้เลย เช่น
$npm install -g hello $hello
เมื่อผ่าน Go จะทำอย่างไร ?
$unset GOPATH $go1.8beta2 get github.com/golang/example/hello $~/go/bin/hello
แสดงผลการทำงานดังนี้
Hello, Go examples!
ต่อมาลองใช้งาน plugin กันหน่อย ใช้ได้เฉพาะบน Linux เท่านั้นนะ
ตัวอย่างเป็นการสร้าง plugin สำหรับการบวกเลขจำนวนเต็ม 2 ค่า
สามารถเขียน plugin ชื่อว่า add_plugin.go ได้ดังนี้
จากนั้นทำการ build plugin ด้วยคำสั่ง
$go1.8beta2 build -buildmode=plugin add_plugin.go
ผลที่ได้คือไฟล์ add_plugin.so
ปล.
อย่าลืม import “C” นะ
เดี๋ยวจะ error ตอนใช้งานแบบนี้
จากนั้นสร้างไฟล์สำหรับใช้งาน add_plugin ดังนี้
มีขั้นตอนการทำงานดังนี้
- ทำการ load plugin หรือ share library ที่สร้างไว้นั่นคือไฟล์ add_plugin.so
- ทำการ lookup หรือหา function/variable ชื่อว่า Add
- ทำการเรียกใช้งาน function Add จาก plugin
ทำการ run จะได้ผลคือ 3 นั่นเอง
และยังมี feature อื่น ๆ ที่น่าสนใจ
ลองไปดูกันครับ สนุกสนานมาก ๆ
สุดท้ายแล้วมีใครใช้ภาษา Go ในการพัฒนาระบบงานบ้าง ?
ดูคำตอบได้ที่นี่ Wiki:: Go Users
มีรายชื่อบริษัทในประเทศไทยด้วยนะครับ