Cómo obtener el último elemento de un slice en Go?
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con este problema. Tengo un slice de strings `names := []string{"Alice", "Bob", "Charlie"}`. Necesito obtener el último elemento de este slice para mostrarlo en pantalla o procesarlo.
En Python escribiría `names[-1]` y funcionaría. Pero en Go esta notación causa un error de compilación: `invalid slice index -1`. Busqué en Google y encontré que en Go no se pueden usar índices negativos.
Por ahora solo se me ocurrió esta forma chapucera:
```go
package main
import "fmt"
func main() {
names := []string{"Alice", "Bob", "Charlie"}
last := names[len(names)-1]
fmt.Println(last)
}
```
Esto funciona, pero me parece poco confiable, especialmente si el slice resulta estar vacío. Ayer tuve un bug: olvidé verificar que el slice no estuviera vacío y el programa falló con un pánico `panic: runtime error: index out of range [0]`.
Díganme, ¿cómo obtener correcta y seguramente el último elemento de un slice? ¿Hay alguna función incorporada en Go?