Kaedah Memanggil Jenis Dinamakan
Dalam Go, jenis bernama yang dibuat menggunakan kata kunci jenis adalah jenis yang berbeza daripada jenis asasnya. Akibatnya, kaedah yang tergolong dalam jenis asas tidak boleh digunakan secara langsung pada jenis yang dinamakan.
Untuk menyelesaikan isu ini dan melanjutkan jenis bernama dengan kaedah tambahan sambil mengekalkan kefungsian asalnya, teknik pembenaman boleh digunakan . Dengan membenamkan jenis asas secara awanama dalam jenis yang dinamakan, kaedah dan medan jenis terbenam menjadi dipromosikan dan boleh diakses dalam jenis yang dinamakan.
Sebagai contoh, jika anda mempunyai jenis bernama StartTime yang membungkus masa.Masa nilai:
type StartTime time.Time func (st *StartTime) UnmarshalJSON(b []byte) error {...}
Untuk mengakses kaedah masa.Masa pada jenis StartTime, benamkan masa.Masa tanpa nama dalam StartTime:
type StartTime struct { time.Time }
Kini, anda boleh memanggil kaedah seperti Date() pada StartTime seolah-olah ia ditakrifkan secara langsung pada jenis:
myStartTime.Date()
Pendekatan ini membolehkan sambungan lancar bagi menamakan jenis dengan kaedah tambahan sambil mengekalkan kefungsian asal jenis asas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Kaedah Jenis Dasar pada Jenis Dinamakan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!