Junior — Middle
Чӣ гуна бояд дар барномасозӣ интерфейсҳоро эълон кард?
sobes.tech AI
Ҷавоб аз AI
در Go، رابطہها با استفاده از کلیدواژههای type و interface اعلام میشوند. رابطہ، مجموعهای از متدها را توصیف میکند که یک نوع باید پیادهسازی کند تا به عنوان برآوردهکننده این رابطہ در نظر گرفته شود. رابطہها باید به صورت حداقلی اعلام شوند، فقط با متدهایی که واقعاً لازم هستند، تا انعطافپذیری و راحتی آزمایش را تضمین کنند.
نمونهای از اعلام یک رابطہ:
// رابطہ Reader نوعهایی را توصیف میکند که میتوانند دادهها را بخوانند
type Reader interface {
Read(p []byte) (n int, err error)
}
مهم است که در Go، پیادهسازی رابطہ به صورت صریح نیست — کافی است که نوع تمام متدهای رابطہ را داشته باشد. این امکان را فراهم میکند تا اشیاء موک به راحتی ساخته شوند و کد انعطافپذیرتری نوشته شود.