浅谈Go Slice 高级实践
Go 语言切片是对数组的抽象。你可以声明一个未指定大小的数组来定义切片:切片不需要说明长度。或使用make()函数来创建切片:也可以简写为也可以指定容量,其中capacity为可选参数。这里 len 是数组的长度并且也是切片的初始长度。以下用法中,类型均使用 int64 做为示例,不处理 interface 。代码只是展示实现思路,不一定完善。两种思路,循环顺序查找和使用 map 加快查找。选用哪种,可以通过具体场景的 Benchmark 决定主要用于当单个切片过大,需要分多次使用的时候,比如网络调用等。RPC 中,不同下游接收的类型可能不一样,还有自定义类型,这里提供一个快速转换的方法主要参考:官方使用技巧,建议多看看。
用户评论