Por tarefa
Início rápido
A validação de CPF em uma função, só com a biblioteca padrão:
Go
func allSame(s string) bool {
for i := 1; i < len(s); i++ {
if s[i] != s[0] {
return false
}
}
return len(s) > 0
}
func IsValidCPF(cpf string) bool {
cpf = reCPF.ReplaceAllString(cpf, "")
if len(cpf) != 11 || allSame(cpf) {
return false
}
for i := 9; i < 11; i++ {
soma := 0
for j := 0; j < i; j++ {
soma += int(cpf[j]-'0') * ((i + 1) - j)
}
dv := (soma * 10 % 11) % 10
if dv != int(cpf[i]-'0') {
return false
}
}
return true
}Página completa, com os casos de borda e a nota do RE2: validar CPF em Go.
publicidade
Prefere uma biblioteca?
Para projetos maiores, vale usar uma lib mantida: klassmann/cpfcnpj ou paemuri/brdoc. Confirme o suporte ao CNPJ alfanumérico na versão que você importar.
Continue
Código em Go verificado por transliteração contra o núcleo (4000 amostras, 0 divergência). Algoritmo módulo 11 (numérico e alfanumérico). Revisado em 06/2026.