20 lines
252 B
Go
20 lines
252 B
Go
|
package main
|
||
|
|
||
|
func concatSlices[T any](slices ...[]T) []T {
|
||
|
var totalLen int
|
||
|
|
||
|
for _, s := range slices {
|
||
|
totalLen += len(s)
|
||
|
}
|
||
|
|
||
|
result := make([]T, totalLen)
|
||
|
|
||
|
var i int
|
||
|
|
||
|
for _, s := range slices {
|
||
|
i += copy(result[i:], s)
|
||
|
}
|
||
|
|
||
|
return result
|
||
|
}
|