Go library for basic arithmetics with protection against integer overflow.
package main
import (
"fmt"
"github.com/jotaen/safemath/safemath"
)
func main() {
// Ok:
res, err := safemath.Add(1, 2)
if err != nil {
fmt.Println("Overflow!")
} else {
fmt.Println(res) // <---- Prints "3"
}
// Overflow (on 64-bit systems):
res, err = safemath.Add(9223372036854775807, 1)
if err != nil {
fmt.Println("Overflow!") // <---- Prints "Overflow!"
} else {
fmt.Println(res)
}
}