
อินเทอร์เฟซใน Go
อินเทอร์เฟซ, type assertion, type switch, empty interface, error interface
1อินเทอร์เฟซใน Go คืออะไร?
อินเทอร์เฟซใน Go คืออะไร?
คำตอบ
อินเทอร์เฟซใน Go คือชนิดข้อมูลที่กำหนดชุดของ signature เมธอด ชนิดข้อมูลจะ implement อินเทอร์เฟซโดยปริยายด้วยการกำหนดเมธอดทั้งหมดของมัน โดยไม่ต้องประกาศอย่างชัดเจน สิ่งนี้ทำให้เกิดการแยกส่วน (decoupling) ที่แข็งแกร่งและความยืดหยุ่นในการออกแบบโปรแกรม Go
2ชนิดข้อมูล implement อินเทอร์เฟซใน Go อย่างไร?
ชนิดข้อมูล implement อินเทอร์เฟซใน Go อย่างไร?
คำตอบ
ใน Go การ implement อินเทอร์เฟซเป็นแบบโดยปริยาย: ชนิดข้อมูลเพียงแค่ต้องกำหนดเมธอดทั้งหมดของอินเทอร์เฟซ ไม่จำเป็นต้องประกาศอย่างชัดเจน (เช่น 'implements' ใน Java) สิ่งนี้ช่วยให้สามารถเพิ่มอินเทอร์เฟซให้กับชนิดข้อมูลที่มีอยู่แล้วได้โดยไม่ต้องแก้ไขซอร์สโค้ด
3empty interface (interface{}) ใน Go มีอะไรพิเศษ?
empty interface (interface{}) ใน Go มีอะไรพิเศษ?
คำตอบ
empty interface (interface{}) ไม่ได้กำหนดเมธอดใด ๆ ซึ่งหมายความว่าทุกชนิดข้อมูล implement มันโดยอัตโนมัติ จึงสามารถเก็บค่าของชนิดข้อมูลใดก็ได้ ตั้งแต่ Go 1.18 เป็นต้นมา มันถูกตั้งชื่อแทนด้วยชนิดข้อมูลที่ประกาศไว้ล่วงหน้า 'any' เพื่อความชัดเจนยิ่งขึ้น
ตั้งแต่ Go 1.18 ชื่อแทน (alias) ของชนิดข้อมูล interface{} คืออะไร?
ไวยากรณ์ของ type assertion ใน Go คืออะไร?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Go อื่นๆ
พื้นฐาน Go
โครงสร้างข้อมูล Go
การจัดการข้อผิดพลาด
พื้นฐาน Goroutine
Channels
Go Modules
เซิร์ฟเวอร์ HTTP
ไคลเอนต์ HTTP
การเข้ารหัส JSON
Database/SQL
แพ็กเกจ context
Testing
รูปแบบ Concurrency
ไพรมิทีฟการซิงโครไนซ์
เฟรมเวิร์กเว็บ Go
การออกแบบ REST API
gRPC
Reflection
การจัดการหน่วยความจำ
การเพิ่มประสิทธิภาพการทำงาน
Generics
Go Design Patterns
Microservices
ความปลอดภัยและการยืนยันตัวตน
Docker & Containerization
Kubernetes Basics
Go ขั้นสูง
การพัฒนา CLI
เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี