Junior — Middle
What function does a proxy serve in the Go language?
sobes.tech AI
Answer from AI
The Go language does not have a built-in function called "proxy" as such. However, the role of a proxy server or proxy object is usually implemented using interfaces and structs that intercept calls and can modify behavior.
For example, to create a proxy, you can define a struct that contains a reference to another object and implements the same methods, adding additional logic:
Type Service interface {
DoSomething() string
}
Type RealService struct {}
func (r *RealService) DoSomething() string {
return "Real service doing something"
}
// Proxy implements the same interface and adds logic
type Proxy struct {
realService Service
}
func (p *Proxy) DoSomething() string {
// Additional logic before call
fmt.Println("Proxy: before call")
result := p.realService.DoSomething()
// Additional logic after call
fmt.Println("Proxy: after call")
return result
}
Thus, the role of a proxy in Go is performed through composition and interfaces, not through any specific function.