Sobes.tech
Junior — Middle

Welke functie vervult de rol van proxy in de Go-taal?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go bestaat er geen ingebouwde functie genaamd "proxy" zoals zodanig. De rol van een proxy-server of proxy-object wordt echter meestal geïmplementeerd met behulp van interfaces en structuren die oproepen onderscheppen en het gedrag kunnen wijzigen.

Bijvoorbeeld, om een proxy te maken, kun je een structuur definiëren die een verwijzing naar een ander object bevat en dezelfde methoden implementeert, met extra logica:

type Service interface {
    DoSomething() string
}

type RealService struct {}

func (r *RealService) DoSomething() string {
    return "Real service doing something"
}

// Proxy implementeert dezelfde interface en voegt logica toe

type Proxy struct {
    realService Service
}

func (p *Proxy) DoSomething() string {
    // Extra logica voor de oproep
    fmt.Println("Proxy: before call")
    result := p.realService.DoSomething()
    // Extra logica na de oproep
    fmt.Println("Proxy: after call")
    return result
}

Op deze manier wordt de rol van proxy in Go uitgevoerd via compositie en interfaces, niet via een specifieke functie.