在编写go程序时我们经常需要使用多变量的Min,Max函数。但是会发现官方代码中只提供了float类型的Min,Max函数,这是因为浮点型的数据判断会涉及到比较多的逻辑,而整数型的数据判断逻辑十分简单,可以十分轻松的实现。
因此这里就分享一下Min,Max和Sum的代码实现。逻辑非常简单:
const (
MININT64 = -922337203685477580
MAXINT64 = 9223372036854775807
)
func Max(nums... int64) int64 {
var maxNum int64 = MININT64
for _, num := range nums {
if num > maxNum {
maxNum = num
}
}
return maxNum
}
func Min(nums... int64) int64 {
var minNum int64 = MAXINT64
for _, num := range nums {
if num < minNum {
minNum = num
}
}
return minNum
}
func Sum(nums... int64) int64 {
var sumNum int64 = 0
for _, num := range nums {
sumNum += num
}
return sumNum
}