Junior — Middle
Quelle fonction joue le rôle de proxy dans le langage Go?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, il n'existe pas de fonction intégrée appelée "proxy" en tant que telle. Cependant, le rôle du serveur proxy ou de l'objet proxy est généralement implémenté à l'aide d'interfaces et de structures qui interceptent les appels et peuvent modifier le comportement.
Par exemple, pour créer un proxy, on peut définir une structure qui contient une référence à un autre objet et qui implémente les mêmes méthodes, en ajoutant une logique supplémentaire :
type Service interface {
DoSomething() string
}
type RealService struct {}
func (r *RealService) DoSomething() string {
return "Service réel faisant quelque chose"
}
// Proxy implémente la même interface et ajoute de la logique
type Proxy struct {
realService Service
}
func (p *Proxy) DoSomething() string {
// Logique supplémentaire avant l'appel
fmt.Println("Proxy : avant l'appel")
result := p.realService.DoSomething()
// Logique supplémentaire après l'appel
fmt.Println("Proxy : après l'appel")
return result
}
Ainsi, le rôle du proxy en Go est réalisé par composition et interfaces, et non par une fonction spécifique.