Go 1.21 全新 min 和 max 内置函数解析
在 Go 1.21 中,内建的 math
包增加了 min
和 max
函数,可以用于比较两个同类型数值的大小。这些函数可以直接用于基本数值类型(如 int
, float64
等)以及对应的类型切片。
以下是使用 min
和 max
函数的示例代码:
package main
import (
"fmt"
"math"
)
func main() {
// 基本数值类型的最小值和最大值
minInt := math.MinInt
maxInt := math.MaxInt
fmt.Printf("Min int: %v, Max int: %v\n", minInt, maxInt)
minFloat64 := math.SmallestNonzeroFloat64
maxFloat64 := math.MaxFloat64
fmt.Printf("Min float64: %v, Max float64: %v\n", minFloat64, maxFloat64)
// 使用math.Min 和 math.Max 函数
a, b := 10, 20
minValue := math.Min(float64(a), float64(b))
maxValue := math.Max(float64(a), float64(b))
fmt.Printf("Min value: %v, Max value: %v\n", minValue, maxValue)
// 对切片使用
slice := []int{1, 2, 3, 4, 5}
fmt.Printf("Min value in slice: %v, Max value in slice: %v\n", math.MinInt64(slice...), math.MaxInt64(slice...))
}
在这个示例中,我们首先展示了如何获取整型和浮点型的最大值和最小值。然后,我们使用 math.Min
和 math.Max
函数来比较两个整数的大小,并展示了如何对一个整型切片使用 math.MinInt64
和 math.MaxInt64
来找出最小和最大的元素。
评论已关闭