use generics for contains() and add generic exists()

This commit is contained in:
2023-12-07 12:16:49 +01:00
parent d2db420837
commit d9a0d61efc
2 changed files with 27 additions and 21 deletions

16
util.go
View File

@@ -23,16 +23,24 @@ import (
"strings"
)
// find an item in a list
func contains(s []string, e string) bool {
for _, a := range s {
if a == e {
// find an item in a list, generic variant
func contains[E comparable](s []E, v E) bool {
for _, vs := range s {
if v == vs {
return true
}
}
return false
}
// look if a key in a map exists, generic variant
func exists[K comparable, V any](m map[K]V, v K) bool {
if _, ok := m[v]; ok {
return true
}
return false
}
func const2num(name string) float64 {
switch name {
case "Pi":