DeepEqual เป็นการพักผ่อนแบบวนซ้ำของโอเปอเรเตอร์ == ของโก
DeepEqual รายงานว่า x และ y เป็น“ ลึกเท่ากัน” กำหนดไว้ดังต่อไปนี้ ค่าสองประเภทที่เหมือนกันจะเท่ากันอย่างยิ่งถ้าหนึ่งในกรณีต่อไปนี้ใช้ ค่าของประเภทที่แตกต่างจะไม่เท่ากันอย่างลึกซึ้ง
ค่าอาร์เรย์มีค่าเท่ากันเมื่อองค์ประกอบที่เกี่ยวข้องมีค่าเท่ากัน
ค่าโครงสร้างจะเท่ากันอย่างยิ่งถ้าเขตข้อมูลที่สอดคล้องกันทั้งที่เอ็กซ์พอร์ตและเอ็กซ์พอร์ตนั้นมีค่าเท่ากัน
ค่าของ Func มีค่าเท่ากันถ้าทั้งคู่เป็นศูนย์ ไม่อย่างนั้นจะไม่ลึกเท่ากัน
ค่าอินเทอร์เฟซจะเท่ากันอย่างล้ำลึกหากพวกเขามีค่าที่เป็นรูปธรรมลึก
ค่าแผนที่จะเท่ากันอย่างยิ่งหากพวกเขาเป็นวัตถุแผนที่เดียวกันหรือหากพวกเขามีความยาวเท่ากันและแผนที่ที่สำคัญของพวกเขา
ค่าตัวชี้จะเท่ากันอย่างยิ่งหากพวกเขามีค่าเท่ากันโดยใช้ตัวดำเนินการ == ของ Go หรือถ้าพวกเขาชี้ไปที่ค่าที่เท่ากันอย่างลึกซึ้ง
ค่า Slice มีความลึกเท่ากันเมื่อทั้งหมดต่อไปนี้เป็นจริง: ทั้งสองเป็นศูนย์หรือไม่มีทั้งคู่พวกเขามีความยาวเท่ากันและทั้งคู่ชี้ไปที่รายการเริ่มต้นเดียวกันของอาร์เรย์ต้นแบบเดียวกัน (นั่นคือ & x [0 ] == & y [0]) หรือองค์ประกอบที่เกี่ยวข้อง (ยาวถึง) เท่ากับกัน โปรดทราบว่าส่วนที่ไม่ว่างเปล่าที่ไม่ใช่ศูนย์และชิ้นส่วนศูนย์ (ตัวอย่างเช่น [] ไบต์ {} และ [] ไบต์ (ศูนย์)) จะไม่เท่ากันอย่างลึกซึ้ง
ค่าอื่น ๆ - ตัวเลข, bools, สตริง, และแชนเนล - เท่ากันหากพวกเขาเท่ากันโดยใช้โอเปอเรเตอร์ == Go's
==
ผู้ประกอบการที่กำหนดไว้ในไปเพียงบางชนิดดังนั้นนอกจากนี้คำถามนี้ยังเป็นหนึ่งถูกต้องตามกฎหมาย