Avatar ·

Como obter o último elemento de um slice em Go?

Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema. Tenho um slice de strings `names := []string{"Alice", "Bob", "Charlie"}`. Preciso obter o último elemento desse slice para exibi-lo na tela ou processá-lo. Em Python, eu escreveria `names[-1]` e funcionaria. Mas em Go, essa sintaxe causa um erro de compilação: `invalid slice index -1`. Pesquisei e descobri que em Go não é possível usar índices negativos. Por enquanto, só consegui pensar nesta solução improvisada: ```go package main import "fmt" func main() { names := []string{"Alice", "Bob", "Charlie"} last := names[len(names)-1] fmt.Println(last) } ``` Isso funciona, mas me parece não muito seguro, especialmente se o slice estiver vazio. Ontem tive um bug: esqueci de verificar se o slice não estava vazio, e o programa travou com um panic `panic: runtime error: index out of range [0]`. Alguém pode me dizer como obter o último elemento de um slice de forma correta e segura? Existe alguma função embutida em Go para isso?