---
name: find_index
kind: function
lang: go
domain: core
version: "1.0.0"
purity: pure
signature: "func FindIndex[T any](slice []T, predicate func(T) bool) Option[int]"
description: "Devuelve el indice del primer elemento que cumple el predicado, envuelto en Option."
tags: [slice, functional, generic, search]
uses_functions: []
uses_types: [option_go_core]
returns: [option_go_core]
returns_optional: false
error_type: ""
imports: []
params:
  - name: slice
    desc: "slice donde buscar"
  - name: predicate
    desc: "función que evalúa cada elemento; retorna true para el buscado"
output: "Option[int] envolviendo el índice del primer elemento que cumple, o None si ninguno cumple"
tested: false
tests: []
test_file_path: ""
file_path: "functions/core/find_index.go"
---

## Ejemplo

```go
idx := FindIndex([]int{10, 20, 30}, func(x int) bool { return x > 15 })
// idx = Some(1)
```

## Notas

Funcion pura generica. Implementacion en devfactory/core.
