You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Golang中使用泛型将两个切片拼接函数合并为单个通用函数

泛型合并实现代码

你可以直接使用Go内置的类型参数实现通用的切片拼接函数,无需针对每种切片类型单独实现:

func concat[T any](args ...[]T) []T {
    concated := []T{}
    for _, i := range args {
        concated = append(concated, i...)
    }
    return concated
}

注:该实现要求Go版本 >= 1.18 才可正常编译使用。

调用示例

你原有两个场景的调用都可以直接复用这个通用函数,不需要修改原有结构体定义:

  • 拼接自定义结构体切片
// 示例:拼接两个directory_account_price_discount_tax类型的切片
var slice1, slice2 []directory_account_price_discount_tax
result := concat(slice1, slice2)
  • 拼接字符串切片
// 示例:拼接两个字符串切片
var strSlice1, strSlice2 []string
strResult := concat(strSlice1, strSlice2)

内容的提问来源于stack exchange,提问作者user17148257

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:54:04