23 lines
		
	
	
		
			552 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			552 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package slices
 | 
						|
 | 
						|
func IndexOf[T comparable](slice []T, value T) int {
 | 
						|
	return IndexOfCmp(slice, value, DefaultEqualityComparator[T])
 | 
						|
}
 | 
						|
 | 
						|
func IndexOfCmp[T comparable](slice []T, value T, cmp EqualityComparator[T]) int {
 | 
						|
	for i, v := range slice {
 | 
						|
		if cmp(v, value) {
 | 
						|
			return i
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return -1
 | 
						|
}
 | 
						|
 | 
						|
func Contains[T comparable](slice []T, value T) bool {
 | 
						|
	return ContainsCmp(slice, value, DefaultEqualityComparator[T])
 | 
						|
}
 | 
						|
 | 
						|
func ContainsCmp[T comparable](slice []T, value T, cmp EqualityComparator[T]) bool {
 | 
						|
	return IndexOfCmp(slice, value, cmp) != -1
 | 
						|
}
 |