Como obter o último elemento de um slice em Go? Existe uma função embutida?
Olá! Comecei a estudar Go recentemente depois do Python e tive um problema com slices. Em Python, estou acostumado a obter o último elemento de uma lista com `my_list[-1]`, mas em Go essa sintaxe não funciona — o compilador retorna o erro "invalid slice index -1".
Tentei escrever algo como `arr[len(arr) - 1]`, mas parece verboso e, honestamente, não tenho certeza se está correto. Por exemplo, o que acontece se o slice estiver vazio? Eu tinha este código:
```go
package main
import "fmt"
func main() {
fruits := []string{"apple", "banana", "cherry"}
// Como obter "cherry"?
fmt.Println(fruits[-1]) // Erro!
fmt.Println(fruits[len(fruits)-1]) // Funciona?
}
```
Mas tenho medo de que, se o slice estiver vazio, `len(fruits) - 1` resulte em -1 e o programa entre em pânico. Existe em Go uma função embutida como `last()` ou alguma forma idiomática de obter o último elemento com segurança? Ou preciso sempre escrever uma verificação de tamanho do slice? Me diga como fazer corretamente!