gotosocial/vendor/go.opentelemetry.io/otel/sdk/metric/internal/reuse_slice.go

14 lines
421 B
Go
Raw Normal View History

// Copyright The OpenTelemetry Authors
2024-08-26 16:05:54 +00:00
// SPDX-License-Identifier: Apache-2.0
package internal // import "go.opentelemetry.io/otel/sdk/metric/internal"
// ReuseSlice returns a zeroed view of slice if its capacity is greater than or
// equal to n. Otherwise, it returns a new []T with capacity equal to n.
func ReuseSlice[T any](slice []T, n int) []T {
if cap(slice) >= n {
return slice[:n]
}
return make([]T, n)
}