Go ไม่มี class และ object แต่ทำไมถึงมี Method และ Interface !?
Go เป็น procedure language ที่เราสร้าง Type ใหม่เองได้ และ สร้าง method ให้เจาะจงแต่ละ Type ได้ แบบที่เคยเขียนไว้คราวก่อน “Go ไม่มี class และ object แต่ทำไมถึงมี Method”
ทีนี้เหตุที่ Go สร้าง Interface Type ขึ้นมาอีกเพราะต้องการกลไกการทำงานแบบ dynamic dispatch method นั่นคือสามารถเรียกใช้งาน method ของ Type ต่างๆผ่าน Type Interface ได้ ถ้า Type นั้นทำการ implement Interface ตัวอย่างพี่รูฟเคยเขียนไว้แล้วที่นี่ Interface ใน Go
Interface ทำให้ Go สามารถประกอบการทำงานขององค์ประกอบย่อยต่างๆเข้าด้วยกันได้ง่ายขึ้น ทดสอบการทำงานได้ง่ายขึ้น เพราะเราสามารถปรับเปลี่ยนชิ้นส่วนที่ทดสอบยาก ออกไป โดยสร้าง Type ใหม่ขึ้นมาให้ implement interface ที่ต้องการแล้วเปลี่ยนให้ค่าที่เราจะทดสอบได้
ความคิดเห็น
แสดงความคิดเห็น