Stavo giocando con Go e ho trovato questo particolare codice interessante per la funzione abs nel pacchetto matematico:
14 func abs(x float64) float64 {
15 switch {
16 case x < 0:
17 return -x
18 case x == 0:
19 return 0 // return correctly abs(-0)
20 }
21 return x
22 }
Perché abbiamo bisogno del caso speciale di x == 0? Cosa succederà se elimino le righe 18 e 19?