ข้อจำกัดความรับผิดชอบ: ตอนนี้ฉันเล่นกับ Go เพียงวันเดียวดังนั้นมีโอกาสที่ดีที่ฉันพลาดไปมาก
มีใครรู้บ้างไหมว่าทำไมไม่มีการรองรับ generics / template / whatsInAName ใน Go? ดังนั้นจึงมีแบบทั่วไปmap
แต่จัดทำโดยคอมไพเลอร์ในขณะที่โปรแกรมเมอร์ Go ไม่สามารถเขียนการใช้งานของตัวเองได้ จากการพูดคุยเกี่ยวกับการทำให้ Go เป็นแบบตั้งฉากกันมากที่สุดทำไมฉันถึงใช้ประเภททั่วไป แต่ไม่สามารถสร้างใหม่ได้
โดยเฉพาะอย่างยิ่งเมื่อพูดถึงการเขียนโปรแกรมเชิงฟังก์ชั่นมี lambdas แม้กระทั่งการปิด แต่ด้วยระบบประเภทคงที่ซึ่งขาด generics ฉันจะเขียนฟังก์ชันลำดับที่สูงกว่าทั่วไปได้filter(predicate, list)
อย่างไร? ตกลงรายการที่เชื่อมโยงและสิ่งที่คล้ายกันสามารถทำได้ด้วยการinterface{}
เสียสละความปลอดภัยประเภท
เนื่องจากการค้นหาอย่างรวดเร็วบน SO / Google ไม่ได้เปิดเผยข้อมูลเชิงลึกใด ๆ ดูเหมือนว่าข้อมูลทั่วไปจะถูกเพิ่มลงใน Go ในภายหลัง ฉันเชื่อว่า ธ อมป์สันจะทำได้ดีกว่าพวก Java แต่ทำไมต้องใช้ชื่อสามัญ? หรือมีการวางแผนและยังไม่ได้ดำเนินการ?
interface{}
เสียสละความปลอดภัยประเภทคงที่ อย่างไรก็ตามนี่เป็นข้อร้องเรียนที่ค่อนข้างแปลกเมื่อกล่าวถึง Scheme เป็นย่อหน้าถัดไปเนื่องจากปกติ Scheme ไม่มีการตรวจสอบประเภทคงที่