Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Feature ที่น่าสนใจในภาษา Go 1.8 (beta 2)

$
0
0

ภาษา Go 1.8 กำลังจะถูกปล่อยตัวเต็ม ๆ ออกมาในเดือนหน้า ตอนนี้อยู่ในสถานะ beta 2 ซึ่งมี feature ที่น่าสนใจมากมาย ตัวอย่างเช่น เรามาลองใช้งาน feature ใหม่ ๆ กันหน่อย ปล. สามารถดูรายละเอียดเพิ่มเติมได้ที่ Go 1.8 Release Notes

เริ่มด้วยการติดตั้งผ่าน 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
ตัวอย่างผมใช้ MacOS จะแสดงอยู่ที่ $HOME/go แสดงดังนี้ [gist id="a15e2fbd8bf88a102719784f07247968" file="2.txt"] ซึ่งทำให้เราสามารถติดตั้งพวก command line package ได้ง่าย ๆ เหมือนกับ npm ได้เลย เช่น [code] $npm install -g hello $hello [/code] เมื่อผ่าน Go จะทำอย่างไร ? [code] $unset GOPATH $go1.8beta2 get github.com/golang/example/hello $~/go/bin/hello [/code] แสดงผลการทำงานดังนี้ Hello, Go examples!

ต่อมาลองใช้งาน 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
ทำการ run จะได้ผลคือ 3 นั่นเอง และยังมี feature อื่น ๆ ที่น่าสนใจ ลองไปดูกันครับ สนุกสนานมาก ๆ

สุดท้ายแล้วมีใครใช้ภาษา Go ในการพัฒนาระบบงานบ้าง ?

ดูคำตอบได้ที่นี่ Wiki:: Go Users มีรายชื่อบริษัทในประเทศไทยด้วยนะครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles