diff options
Diffstat (limited to 'android/util.go')
| -rw-r--r-- | android/util.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/android/util.go b/android/util.go index 2d269b724..3fc4608e0 100644 --- a/android/util.go +++ b/android/util.go @@ -660,3 +660,13 @@ func (m *SyncMap[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool) { v, loaded := m.Map.LoadOrStore(key, value) return v.(V), loaded } + +// AppendIfNotZero append the given value to the slice if it is not the zero value +// for its type. +func AppendIfNotZero[T comparable](slice []T, value T) []T { + var zeroValue T // Get the zero value of the type T + if value != zeroValue { + return append(slice, value) + } + return slice +} |