首页 > 文章列表 > Golang泛型如何在函数中处理不同类型的数据?

Golang泛型如何在函数中处理不同类型的数据?

golang 泛型
320 2024-04-23

Go 泛型通过类型参数允许函数处理不同类型的数据。通过使用可比较类型参数 T,Max 函数可以返回两个值中较大的那个,适用于任何可比较类型。

Golang泛型如何在函数中处理不同类型的数据?

Go 泛型:在函数中处理不同类型数据

Go 泛型允许我们创建适用于多种类型的通用代码。以下是如何在 Go 函数中使用泛型处理不同类型的数据:

func Max[T comparable](a, b T) T {
    if a > b {
        return a
    }
    return b
}

Max 函数使用类型参数 T 作为输入,使其适用于任何可比较的类型。它返回类型 T,该类型与输入类型相同。

实战案例:

下面的例子展示了如何使用 Max 函数:

// 找到两个整数的最大值
maxInt := Max(10, 20)

// 找到两个浮点数的最大值
maxFloat := Max(3.14, 2.71)

// 找到两个字符串的最大值(使用字符串比较)
maxString := Max("Hello", "World")

fmt.Println(maxInt, maxFloat, maxString) // 输出:20 3.14 Hello

Go 泛型使创建适用于多种类型的代码变得容易。它允许我们编写通用且可重用的函数,从而提高代码的可读性和可维护性。