巧用Golang泛型,简化代码编写
作者 | 百度小程序团队 导读 本文整理了很多的泛型应用技巧,结合具体的实际代码示例,特别是很多直接对Go语言内置的类库的实现进行改造,再通过两者在使用上直观对比,帮助大家对泛型使用思考上提供了更多思路,定会帮助大家在应用泛型能力上有很多的提升与启发。 全文16699字,预计阅读时间42分钟。 01 前言 泛型功能是Go语言在1.18版本引入的功能,可以说是Go语言开源以来最大的语法特性变化,其改动和影响都很大, 所以整个版本的开发周期,测试周期都比以往要长很多。接下来为了大家更好的理解文章中的代码示例,先再简单介绍一下 Go语言在1.18版本加入的泛型的基本使用方法。 从官方的资料来看,泛型增加了三个新的重要内容: 函数和类型新增对类型形参(type parameters)的支持。 将接口类型定义为类型集合,包括没有方法的接口类型。 支持类型推导,大多数情况下,调用泛型函数时可省略类型实参(type arguments)。 1.1 Type Parameter 参数泛型类型(Type Parameter)可以说是泛型使用过程应用最多的场景了, 一般应用于方法或函数的形参或返回参数上。...