21 lines
		
	
	
		
			286 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			286 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import "fmt"
 | 
						|
 | 
						|
func Index[T comparable](s []T, x T) int {
 | 
						|
	for i, v := range s {
 | 
						|
		if v == x {
 | 
						|
			return i
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return -1
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	si := []int{10, 20, 15, -10}
 | 
						|
	fmt.Println(Index(si, 15))
 | 
						|
 | 
						|
	ss := []string{"foo", "bar", "bax"}
 | 
						|
	fmt.Println(Index(ss, "hello"))
 | 
						|
}
 |