Junior — Middle
Ce funcție îndeplinește rolul de proxy în limbajul Go?
sobes.tech AI
Răspuns de la AI
În limbajul Go, nu există o funcție încorporată numită "proxy" ca atare. Cu toate acestea, rolul unui server proxy sau al unui obiect proxy este de obicei implementat folosind interfețe și structuri care interceptează apelurile și pot modifica comportamentul.
De exemplu, pentru a crea un proxy, se poate defini o structură care conține o referință la un alt obiect și care implementează aceleași metode, adăugând logică suplimentară:
type Service interface {
DoSomething() string
}
type RealService struct {}
func (r *RealService) DoSomething() string {
return "Serviciu real făcând ceva"
}
// Proxy implementează aceeași interfață și adaugă logică
type Proxy struct {
realService Service
}
func (p *Proxy) DoSomething() string {
// Logică suplimentară înainte de apel
fmt.Println("Proxy: înainte de apel")
result := p.realService.DoSomething()
// Logică suplimentară după apel
fmt.Println("Proxy: după apel")
return result
}
Astfel, rolul proxy-ului în Go este realizat prin compoziție și interfețe, nu printr-o funcție anume.