Conteúdo
Métodos
O que são?
De forma análoga a funções, em Go também temos os métodos, que por definição são os comportamentos atribuídos a uma determinada struct (o method receiver do método).
Na prática, na linguagem da marmota, métodos são funções que podem ser atribuídos a qualquer tipo. Sua sintaxe de declaração é muito semelhante à de funções, exceto pelo "binding" ao seu tipo, que aparece entre a palavra reservada func
e o nome do método.
Sintaxe:
Exemplo: validando CPF
Observação: a validação de CPF tem mais regras, mas para título de exemplo estamos validando apenas se o número informado possui 11 algarismos.
Acima, verifica-se a sintaxe para declaração de métodos, onde:
func representa a palavra chave para iniciar a declaração do método, idêntica à de função;
(c CPF) representa o "bind" com o tipo, onde c é a instância do tipo, contendo uma cópia do seu valor quando o tipo for CPF, e uma cópia de seu endereço na memória quando for *CPF (sim, podemos colocar uma referência como binding)
EhValido é o nome do método, também obedece a máxima de quando iniciar com maiúscula é visível fora do
package
, e com minúscula apenas dentro(), os parênteses, estão vazios, então não há parâmetros, mas caso houvess estariam entre os parênteses logo após o nome (como em funções)
bool representa o tipo do retorno
{}, as chaves, são utilizadas para definir o escopo do método, onde ela começa e termina
return, é a palavra chave que utilizamos para retornar as saídas
Tendo em mente que a sintaxe é a mesma de funções, podemos avançar para os exercícios.
Last updated