2
ไปที่ฟิลด์อินเทอร์เฟซ
ฉันคุ้นเคยกับความจริงที่ว่าใน Go อินเทอร์เฟซกำหนดฟังก์ชันการทำงานแทนที่จะเป็นข้อมูล คุณใส่ชุดวิธีการลงในอินเทอร์เฟซ แต่คุณไม่สามารถระบุฟิลด์ใด ๆ ที่จำเป็นสำหรับสิ่งที่ใช้อินเทอร์เฟซนั้น ตัวอย่างเช่น: // Interface type Giver interface { Give() int64 } // One implementation type FiveGiver struct {} func (fg *FiveGiver) Give() int64 { return 5 } // Another implementation type VarGiver struct { number int64 } func (vg *VarGiver) Give() int64 { return …