¿Cómo obtener el último elemento de un slice en Go? ¿Existe una función incorporada?
¡Hola! Acabo de empezar a aprender Go después de Python y tengo un problema con los slices. En Python estoy acostumbrado a obtener el último elemento de una lista con `my_list[-1]`, pero en Go esa sintaxis no funciona: el compilador da el error "invalid slice index -1".
Intenté escribir algo como `arr[len(arr) - 1]`, pero parece engorroso y, sinceramente, no estoy seguro de que sea correcto. Por ejemplo, ¿qué pasa si el slice está vacío? Tenía este código:
```go
package main
import "fmt"
func main() {
fruits := []string{"apple", "banana", "cherry"}
// ¿Cómo obtener "cherry"?
fmt.Println(fruits[-1]) // ¡Error!
fmt.Println(fruits[len(fruits)-1]) // ¿Funciona?
}
```
Pero me temo que si el slice está vacío, `len(fruits) - 1` dará -1 y el programa fallará con un panic. ¿Hay en Go alguna función incorporada como `last()` o alguna forma idiomática de obtener el último elemento de forma segura? ¿O tengo que escribir una comprobación de la longitud del slice cada vez? ¡Dime cómo hacerlo correctamente!