Em qualquer aplicação é necessário o gerenciamento de erros para registro de log, exibição 
                de mensagem amigável e outros.
            
            Ex 1:
            "campo deve ser preenchido"
"valor inválido"
"erro ao abrir arquivo"
            
                Em Go, assim como em outras linguagens, uma função nativa, ou função do usuário, pode retornar 
                um valor de erro quando necessário. 
            
            Ex 2:
            func nome_funcao(<parametros>) (tipo_retorno, error){
   if(/*condicao*/){
     return valor_retorno,nil  //OK
   }
  return valor_retorno, nome_erro() //ERRO
}
            
                O retorno da função deve ser validado para exibição de mensagem amigável ao usuário 
                do programa:
            
             valor_retorno, erro := nome_funcao(/*argumentos*/)
if (erro != nil){ 
    //OK
}else{
    //ERRO
}
            
                No exemplo mais simples abaixo, vamos abrir um arquivo inexistente fazendo 
                uso o método ReadFile, que pertence ao package os. Esse método irá retornar um 
                error que é capturado pela variável erro:
            
            Ex 3:
            package main
import "fmt"
import "os"
func main() {
    _, erro := os.ReadFile("arq.txt") //_ descartar
    if (erro != nil){ //validação
    fmt.Print("Erro:", erro)
    }else{
    fmt.Print("Ok")
    }
}
            Saída
            Erro:open arq.txt: no such file or directory
            
                Go permite a criação de erros customizados, com e sem struct, e também a validação básica 
                dos tipos de erro com os métodos errors.Is e errors.As. 
            
            Ex 4:
            func MeuErro() error{
     return errors.New("minha mensagem de erro")
}
            Ex 5:
               if(errors.Is(erro,ErroArgInvalido)){ //validação com erros.Is
        fmt.Print("ArgumentoInvalido")
            
                Podemos também gerenciar erros com funções customizadas utilizando Defer, Panic e 
                Recover além da possibilidade de logar erros utilizando o package log.
                Esses assuntos mencionados serão discutidos nas próximas seções do tutorial.