Boas Práticas e Padrões Idiomáticos em Go e C
Nem sempre boas práticas são consideradas design patterns formais. Porém, quando uma técnica se torna a única forma eficaz de resolver problemas recorrentes, ela deixa de ser apenas "higiene de código" e passa a funcionar como um padrão idiomático da linguagem.
Este documento explora como structs, composição e interfaces em Go (e até em C) podem ser vistos como soluções de design aplicando esses princípios para um bom código. O texto começa explicando o uso em C de ponteiros e faz uma analogia sobre injeção de código de POO. Este documento tem por objetivo de tornar um dia um desgin para GO ou até C, QUE SÃO PROCEDURAIS. É um exemplo onde você não resolve bem uma questão sem esse principio de que se você não usar, você não resolve da melhor maneira. O documento é trabalhado nas fases seguintes com o argumento de porque usar ou não usar para justificar um design.[ Hits: 116 ]
Por: trogmaiu em 25/03/2026
Go (e até em C) podem ser vistos como soluções de design, aplicando princípios como SRP e OCP do SOLID.Go não possui herança clássica, mas interfaces + composição permitem polimorfismo.type Reader interface {
Read(p []byte) (n int, err error)
}
- Qualquer tipo que implemente pode ser usado como.func (l Logger) Log(msg string) {
fmt.Println(msg)
}
type Service struct {
Logger
}
func (s Service) DoWork() {
s.Log("Executando tarefa...")
}
- Service reutiliza Logger sem herança.int (*operation)(int, int);
} Strategy;
int add(int a, int b) { return a + b; }
int multiply(int a, int b) { return a * b; }
Strategy s;
s.operation = add;
printf("%d\n", s.operation(2, 3)); // 5
"Aqui, Strategy funciona como uma interface.Go não tem, e tentar simular herança com composição pode gerar confusão.Cuidado com números em Ponto Flutuante
Desenvolvendo para microcontroladores em GNU/Linux
Compilando o Mono 2.2 no Ubuntu 8.10
Nenhum comentário foi encontrado.
Boas Práticas e Padrões Idiomáticos em Go e C
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
Usando o ble.sh (Bash Line Editor) no lugar do bash completion
Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)
No Ubuntu 26.04, sudo passou a mostrar os asteriscos ao digitar por pa... (1)
Criei um app de escrita acadêmica para brasileiros! (4)









