go 泛型通过类型参数允许函数处理不同类型的数据。通过使用可比较类型参数 t,max 函数可以返回两个值中较大的那个,适用于任何可比较类型。
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 泛型使创建适用于多种类型的代码变得容易。它允许我们编写通用且可重用的函数,从而提高代码的可读性和可维护性。