
Generics
Type parameters, constraints, comparable, any, ฟังก์ชัน generic, ชนิดข้อมูล generic, การอนุมานชนิดข้อมูล
1type parameter ใน Go คืออะไร?
type parameter ใน Go คืออะไร?
คำตอบ
type parameter คือตัวแปรชนิดข้อมูลที่ใช้ในการนิยามฟังก์ชันหรือชนิดข้อมูลแบบ generic โดยประกาศไว้ภายในวงเล็บเหลี่ยม มันช่วยให้เขียนโค้ดที่นำกลับมาใช้ใหม่ได้ซึ่งทำงานกับชนิดข้อมูลที่แตกต่างกันได้โดยไม่เสีย type safety type parameter จะถูกสร้างอินสแตนซ์ด้วย type argument ที่เป็นรูปธรรมเมื่อใช้งาน ทำให้คอมไพเลอร์สามารถตรวจสอบความสอดคล้องของชนิดข้อมูลในเวลาคอมไพล์แทนที่จะเป็นในเวลารันไทม์
2ไวยากรณ์ที่ถูกต้องในการประกาศฟังก์ชัน generic แบบง่ายคืออะไร?
ไวยากรณ์ที่ถูกต้องในการประกาศฟังก์ชัน generic แบบง่ายคืออะไร?
คำตอบ
ไวยากรณ์ที่ถูกต้องในการประกาศฟังก์ชัน generic ใช้วงเล็บเหลี่ยมทันทีหลังชื่อฟังก์ชันเพื่อนิยาม type parameter constraint any อนุญาตให้รับชนิดข้อมูลใดก็ได้ คล้ายกับ interface{} แต่มีความหมายที่ชัดเจนกว่าในบริบทของ generics ไวยากรณ์นี้ถูกนำมาใช้ใน Go 1.18 เพื่อให้สามารถเขียนโปรแกรมแบบ generic ได้ในขณะที่ยังคงความเรียบง่ายของภาษาไว้
3constraint 'any' ใน Go แทนอะไร?
constraint 'any' ใน Go แทนอะไร?
คำตอบ
constraint any เป็น alias สำหรับ interface{} ซึ่งแทนเซตของชนิดข้อมูลที่เป็นไปได้ทั้งหมดใน Go มันช่วยให้ type parameter รับชนิดข้อมูลใดก็ได้โดยไม่มีข้อจำกัด ให้ความยืดหยุ่นสูงสุด แม้จะสะดวก แต่การใช้ any หมายถึงการสละการตรวจสอบชนิดข้อมูลเฉพาะ และมักต้องใช้ type assertion เพื่อเข้าถึงเมธอดหรือคุณสมบัติของชนิดข้อมูลพื้นฐาน
ความแตกต่างหลักระหว่าง 'any' กับ 'comparable' ในฐานะ constraint คืออะไร?
จะประกาศชนิดข้อมูล generic แบบกำหนดเองเช่น stack ได้อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Go อื่นๆ
พื้นฐาน Go
โครงสร้างข้อมูล Go
อินเทอร์เฟซใน Go
การจัดการข้อผิดพลาด
พื้นฐาน Goroutine
Channels
Go Modules
เซิร์ฟเวอร์ HTTP
ไคลเอนต์ HTTP
การเข้ารหัส JSON
Database/SQL
แพ็กเกจ context
Testing
รูปแบบ Concurrency
ไพรมิทีฟการซิงโครไนซ์
เฟรมเวิร์กเว็บ Go
การออกแบบ REST API
gRPC
Reflection
การจัดการหน่วยความจำ
การเพิ่มประสิทธิภาพการทำงาน
Go Design Patterns
Microservices
ความปลอดภัยและการยืนยันตัวตน
Docker & Containerization
Kubernetes Basics
Go ขั้นสูง
การพัฒนา CLI
เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี