1
resposta

[Sugestão] Para resolver o erro de

ao utilizar as struct colocar a "key" do campo que estamos utilizando:

func main() {
    clienteBruno := clientes.Titular{"Bruno", "123.123.123.12", "Desenvolvedor"}
    contaDoBruno := contas.ContaCorrente{clienteBruno, 123, 123456, 100}
    fmt.Println(contaDoBruno)
}

sugestão:

func main() {
    clienteBruno := clientes.Titular{Name: "Bruno", CPF: "123.123.123.12", Profissao: "Desenvolvedor"}
    contaDoBruno := contas.ContaCorrente{Titular: clienteBruno, numeroAgencia: 123, NumeroConta: 123456, Saldo:100}
    fmt.Println(contaDoBruno)
}
1 resposta

Olá, Bruno!

A sua sugestão é realmente muito útil, principalmente quando estamos lidando com structs que possuem muitos campos. Ao utilizar a "key" do campo na hora de criar uma nova instância da struct, nós aumentamos a legibilidade do nosso código e evitamos erros que poderiam ocorrer caso os campos fossem preenchidos em uma ordem incorreta.

No seu exemplo, ao invés de:

clienteBruno := clientes.Titular{"Bruno", "123.123.123.12", "Desenvolvedor"}
contaDoBruno := contas.ContaCorrente{clienteBruno, 123, 123456, 100}
fmt.Println(contaDoBruno)

Você sugeriu:

clienteBruno := clientes.Titular{Name: "Bruno", CPF: "123.123.123.12", Profissao: "Desenvolvedor"}
contaDoBruno := contas.ContaCorrente{Titular: clienteBruno, numeroAgencia: 123, NumeroConta: 123456, Saldo:100}
fmt.Println(contaDoBruno)

Essa é uma prática muito boa e é recomendada para aumentar a clareza do código. No entanto, é importante lembrar que os nomes dos campos (keys) devem começar com letra maiúscula para que sejam exportados e possam ser acessados por outros pacotes.

Então, a correção seria:

clienteBruno := clientes.Titular{Name: "Bruno", CPF: "123.123.123.12", Profissao: "Desenvolvedor"}
contaDoBruno := contas.ContaCorrente{Titular: clienteBruno, NumeroAgencia: 123, NumeroConta: 123456, Saldo:100}
fmt.Println(contaDoBruno)

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software