package math func Max[T SignedNumber](nLst ...T) T { switch len(nLst) { case 0: var zeroT T return zeroT case 1: return nLst[0] default: m := nLst[0] for _, n := range nLst[1:] { if m < n { m = n } } return m } } func Min[T SignedNumber](nLst ...T) T { switch len(nLst) { case 0: var zeroT T return zeroT case 1: return nLst[0] default: m := nLst[0] for _, n := range nLst[1:] { if m > n { m = n } } return m } }