Junior — Middle
Go dilində proxy rolunu yerinə yetirən funksiya hansıdır?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, "proxy" adlı daxili bir funksiya yoxdur. Ancaq, proxy serverinin və ya proxy obyektinin rolu adətən interfeys və strukturlar vasitəsilə həyata keçirilir, bunlar çağırışları ələ keçirir və davranışı dəyişə bilər.
Məsələn, proxy yaratmaq üçün, başqa bir obyektə istinad edən və eyni metodları həyata keçirən struktur təyin edə bilərsiniz və əlavə məntiq əlavə edə bilərsiniz:
type Service interface {
DoSomething() string
}
type RealService struct {}
func (r *RealService) DoSomething() string {
return "Real service doing something"
}
// Proxy eyni interfeysi həyata keçirir və məntiq əlavə edir
type Proxy struct {
realService Service
}
func (p *Proxy) DoSomething() string {
// Əlavə məntiq çağırışdan əvvəl
fmt.Println("Proxy: before call")
result := p.realService.DoSomething()
// Əlavə məntiq çağırışdan sonra
fmt.Println("Proxy: after call")
return result
}
Beləliklə, Go-da proxy rolu kompozisiya və interfeyslər vasitəsilə həyata keçirilir, xüsusi bir funksiya vasitəsilə deyil.