package main

import "fmt"

// Index mengembalikan posisi pertama nilai yang sama, atau -1.
func Index[T comparable](data []T, dicari T) int {
	for i, v := range data {
		if v == dicari {
			return i
		}
	}
	return -1
}

func main() {
	// Function tidak comparable sehingga func() tidak memenuhi comparable.
	langkah := []func(){func() { fmt.Println("mulai") }}
	fmt.Println(Index(langkah, langkah[0]))
}
