Kontrakter er på vej til Googles Go-sprog
Googles sprog Go vil i et nyt udkast tilføje kontrakter til sproget. Det skal bruges til at indføre type-parametre i sproget.
Det skriver udviklerbloggen Infoq.
Kontrakter, som som det kendes fra sproget Eiffel, handler som oftest om strengere guards eller 'pre-conditions' ved funktionskald, og post-conditions, der tjekker såkaldt invariant opførsel inde i selve en funktions krop.
Men i Go implementeres kontrakter for at parametrisere typer og funktioner. Go's udviklere benytter termen 'generics', men betoner, at der ikke menes det samme med begrebet, som i sprog som C++, C#, Java eller Rust.
En kontrakt i Go skrives ved at angive de typer, som passer sammen med kontrakten. En funktion, der returnerer et minimum at to værdier, kan implementeres ved at definere en kontrakt, der inkluderer alle typer, som har en
