20 lines
271 B
Go
20 lines
271 B
Go
|
package moslice
|
||
|
|
||
|
func Flatten[T any](tss [][]T) []T {
|
||
|
if len(tss) == 0 {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
entireLen := 0
|
||
|
for _, ts := range tss {
|
||
|
entireLen += len(ts)
|
||
|
}
|
||
|
|
||
|
newTs := make([]T, 0, entireLen)
|
||
|
for _, ts := range tss {
|
||
|
newTs = append(newTs, ts...)
|
||
|
}
|
||
|
|
||
|
return newTs
|
||
|
}
|