​Go 1.4 Released

เมื่อวันพุธที่ 10 ธันวาคม Go ได้ปล่อยเวอร์ชั่น 1.4 ออกมา ซึ่งเวอร์ชั่นนี้มีการเปลี่ยนแปลงหลักๆ มีอะไรบ้างเรามาดูกัน compiler ของ Go ที่เขียนด้วย C จะถูก translate มาเป็น Go for-range loops ยอมให้ใช้ “for range x {” สำหรับการวนลูบแบบไม่ต้องการค่าได้แล้ว เปลี่ยน version control จาก Mercurial ไปเป็น Git และ source code จะย้ายไปอยู่ที่ https://go.googlesource.com/ ส่วน issues tracker จะย้ายไปอยู่ที่ golang/go ของ GitHub support Android โดย package สำหรับ Android จะอยู่ที่ golang.org/x/mobile support NaCl บน ARM เพิ่ม […]

Continue reading →

Interface ใน Go

ก่อนจะไปพูดถึงเรือง interface เรามาดูก่อนว่าถ้าผมต้องการเขียนโปรแกรมให้นับเลขตามลำดับใน index ของ array ว่าถ้า index นั้นสามารถหารลงตัวด้วย 3 ให้นับ Fizz แต่ถ้าหารด้วย 5 ลงตัวให้นับ Buzz เราก็สามารถเขียนโปรแกรมง่ายๆได้ดังนี้ (ลองใน Go Playfround)

Continue reading →

ทดสอบ http ด้วย http recorder

จากบทความ สร้าง webservice ด้วย net/http คราวนี้คนที่ทำ TDD หรือ automated test จะตั้งคำถามว่า “แล้วเราทำทดสอบมันยังไง” Go มีชุดทดสอบสองทางเลือกครับ ทดสอบด้วย http response recorder ทดสอบด้วยการตั้ง server จำลองขึ้นมา ในบทความนี้เราจะมาลองทดสอบด้วย http response recorder กัน

Continue reading →

สร้าง web service ง่ายๆ ด้วย net/http

ส่วนใหญ่มักจะมีคนมาถามเรื่อยเลยว่า Go นั้นเขียน web ได้หรือไม่ เลยเป็นการดีจะมาเล่าให้ฟัง Go มี built-in library ชื่อ net/http เอาไว้จัดการเรื่องของ http ไม่ว่าจะเป็นฝั่ง client หรือ server ก็ตาม เราสามารถสร้าง http server ได้อย่างง่ายๆ เราจะมาลองทำ web service ง่ายๆ ซักตัวโดย request เป็น GET /api/hello response ที่ได้กลับมาเป็น {“text”: “hello”}

Continue reading →

เขียนเทสภาษาโก

เริ่มเขียนเทสแบบง่ายที่สุดกันก่อน เพื่อสร้างความมั่นใจกันดีกว่า โดยเริ่มจากสร้างโฟล์เดอร์ src/first ใน gopath แล้วสร้างไฟล์ชื่อ hi_test.go แล้วพิมพ์แบบนี้ลงไป

Continue reading →

รับ input จาก keyboard

ได้รับมอบหมายให้เขียนเกี่ยวกับ Go ในหัวข้อที่เป็นเรื่องธรรมดาง่ายๆ คิดอยู่หลายวันเลยคิดย้อนไปว่าถ้าเราหัดเขียนโปรแกรมใหม่ๆสิ่งแรกที่เรามักจะได้ทำคือโปรแกรมคูณเลขเช่นรับ input จาก keyboard แล้วเอามาคูณสอง

Continue reading →