Como remover um elemento de map em Go: remoção por chave e limpeza de todo o map
Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com map. Preciso remover um elemento de map por chave, mas não consigo encontrar a sintaxe correta. Em outras linguagens, estou acostumado a usar algo como `delete(map, key)` ou `map.remove(key)`, mas em Go isso não funciona da mesma forma.
Aqui está um exemplo do meu código:
```go
package main
import "fmt"
func main() {
users := map[string]int{
"alice": 25,
"bob": 30,
"charlie": 35,
}
// Tentando remover "bob"
delete(users, "bob") // Isso funciona?
// Ou talvez assim?
// users.remove("bob")
// users["bob"] = nil?
fmt.Println(users)
}
```
Tentei `delete(users, "bob")` — parece que compila, mas não tenho certeza se é a maneira correta. Também me pergunto: o que acontece se tentar remover uma chave que não existe? E como limpar completamente o map sem criar um novo? Agradeço por uma explicação detalhada com exemplos.
Obrigado desde já!