htmgo/tooling/astgen/util.go

23 lines
373 B
Go
Raw Normal View History

2024-09-11 00:52:18 +00:00
package main
import (
"fmt"
)
func PanicF(format string, args ...interface{}) {
panic(fmt.Sprintf(format, args...))
}
func Unique[T any](slice []T, key func(item T) string) []T {
var result []T
seen := make(map[string]bool)
for _, v := range slice {
k := key(v)
if _, ok := seen[k]; !ok {
seen[k] = true
result = append(result, v)
}
}
return result
}