Como criar uma API em Golang (sem enrolação)
Vložit
- čas přidán 25. 08. 2024
- Muita gente vem de outras linguagem pra comunidade Go, então rola uma pergunta frequente de como criar uma API CRUD simples em Go, nesse vídeo eu mostro isso de forma rápida sem enrolação; uma API que cria, deleta e lê posts de um banco de dados postgres.
Essa API é fácil, mas que tal encontrar projetos Go mais desafiadores em:
💪 devgym.com.br/
🔗Links úteis
* Estudando context package em go através da Devgym: app.devgym.com...
* Como organizar código go: • Como organizar código ...
* Como estou codando a devgym em go: • Fazendo deploy de um p...
* Repositório no github: github.com/fil...
🏆Melhores vídeos do cana sobrel:
* Dev em Portugal 2021 • 3 mitos sobre uma carr...
* Dev em Portugal 2019-2020 • Dev em Portugal 2019-2020
* Minha história contada em vídeos: • Minha 1a entrevista pr...
* Meus testes práticos • Meu TESTE PRÁTICO em P...
* Entrevistas de emprego • #1 Como é uma ENTREVIS...
* Testes automatizados • Testes na programação ...
* Como começar a programar • Escrevendo seu PRIMEIR...
▶️ Redes sociais
Instagram: / filhodanuvem
Twitter: / filhodanuvem
GitHub: github.com/fil...
🎥 Equipamentos usados nesse vídeo
Amazon Brasil:
Microfone: amzn.to/3zujQII
Câmera (lente kit padrão): amzn.to/2UQspip
Tripé: amzn.to/2UM6Xv4
🕰Capítulos
Uma dificuldade que iniciantes tem em GO é como estruturar seu código. Venho do PHP e estudo GO a aprox. 1 mês. Gostei muito do seu vídeo. Direto e objetivo. Continue postando!!!!
Valeuuu Sidnei, vou continuar.
Em 10 minutos ensinou muito mais que um certo canal com videos de mais de 1 hora sobre Go
Valeuu Adelson, 10 minutos que valem mais que ouro haha
Kkkkk Nem precisa citar, acho que todo mundo sabe qual é. Aquele que ama fazer live com inicio de 30min enrolando né kkkkk
cara sua didática é incrível, continua nesse estilo de vídeo
Cara fico muito feliz em ler isso, melhor elogio. Valeuu
Água!
Muito bom vídeo.. Simples e direto. Parabéns!!!
Valeuu Cleyton
Conteúdo top como sempre!! Já fiz minha contribuição no projeto! Já abri um PR! 🎉
valeuu Julio
Água!
Muito bom o vídeo.
Valeu mano 🚰
Top demais, mto obg mano!
Valeuu irmão, que bom que curtiu
Tu é muito brabo!
Valeu mano 🙏
Acho o máximo estar aprendendo Go com o mesmo professor da Beyonce. :)
🤣🤣🤣🤣🤣
Eu prefiro usar o echo ao invés do gin mas no fim das contas esses frameworks fazem tudo a mesma coisa 😂
Ótimo video
Hahahah bem isso mesmo.
Muito maneiro.
Opa, que bom que curtiu Eduardo
Você é "água" no deserto!
🏝️
Esquenta para o desafio que do DevGym.
Aí simmm
Muito bom.
Valeuu mano
Claudson, bem que tu poderia refazer esse video usando as features do recém lancado Go 1.22, né? Sem framework. Golang puro, hehehe
Eu queria que o CZcams deixasse substituir o vídeo, seria legal pra esses casos, mas de qualquer maneira tu podia aproveitar essa chance e mandar um pull request la pro repositório go, o que acha? 🙂
valeu p ela aula
Tamo junto 👊
Eu programo em java, não tem controller, service e domain?
Isso são padrões independente da linguagem neh. É comum ver em go sim
@@Filhodanuvem sim, mas parece que muitos progamadores em go tiram as controllers e usam handlers. Ou é impressão minha?
É cadê !
Perdi os últimos comentários, usamos handlers como um padrão de comunidade mas é só um nome, o objetivo acaba sendo o mesmo de uma action de um controller.
Estou estudando Go a duas semanas e ja está virando minha linguagem favorita. Eu sou dev PHP. Da pra usar o pool de conexões do lado da aplicação em conjunto com um servidor de pool de conexões como o PgBouncer? É comum fazer isso em Go?
Fala Leandro, eu nunca usei o pgbouncer com um projeto go mas tenho quase certeza que você vai precisar de uma lib diferente da que usei, específica pro pgboucer porque no fim das contas o pool é gerido do lado do banco/pgbouncer, a lib só está representando ou servindo como uma interface pra esse pool.
Então não existem dois pool, ele é um só, representado em código pela lib.
perdão a pergunta completamente aleatória e sem contexto com o vídeo em si, mas alguém ai de go que usa o vscode sabe como colocar highlight nos atributos das strutcs? usei o GoLand para aprender nos meus primeiros projetos e estou tentando migrar pro vscode para manter tudo em um editor so, tudo fica branco, sinto falta do highlight do goland
Nessa não consigo ajudar mas vai assistente alguém 🤞
ÁGUAAA
🚰
Água
🚿
essas linhas vazias no inicio da funcao me tiltam.
Imagina tu entrar numa empresa e todas as funções tem uma linha de espaço no começo hahahahahaha
água
🧊
Pensa num negócio chato e complicado pra estagiário, API! E o filho da nuvem conseguiu sanar minhas dúvidas!
Que bom cara que te ajudou.
Embora o vídeo tenha sido muito bem explicado, ele é PESSIMO para quem quer seguir o tutorial codando
Várias modificações foram feitas no arquivo main.go que não sequer apareceram na tela, fora q o arquivo connection.go, quando apareceu na tela estava completamente errado, nem sequer funcionando estava, tive de descobrir sozinho que os valores chamados nem existiam
Ele não foi feito com esse intuito, sua expectativa não casou com o objetivo dele, até porque eu não mostro todas as linhas de todos os arquivos. Ele foi feito pra pessoas que são de outras linguagens terem uma visão geral de como criar uma api em go.
agua
🌧️
Olha, com todo respeito, mas GO é ILEGÍVEL, um projeto de verdade deve ser ainda mais impossível, ainda não consegui entender a motivação pra largar o Java e ir pra GO.
Você não me desrespeitou tá tranquilo rsrs mas você pode parar e se perguntar “se go é ilegível, porque das linguagens que nasceram nos últimos 15, 20 anos, é a única que tomou tração?”
Uma coisa simples pra largar o Java e ir pra go é não precisar instalar e manter um programa (a jvm) além do seu próprio código.
Fui dev Java por 8 ou 10 anos, sei lá, no início GO me pareceu estranho, como voce menciona, mas depois que voce conhece de fato, é muito mais simples as coisas nele. Não me vejo nunca mais programando em Java.
@@Filhodanuvem Não instalo JVM na minha máquina desde que Docker veio ao mundo.
Eu entendo a tentativa de simplificar o inicio, mas gerenciar dependencias manualmente, sem um gerenciador de pacotes me pega um pouco.
Fora que o baixo nível da linguagem que faz com que ela seja rápida, torna a porta de entrada complexa.
Sou dev com 15 anos de experiência e sei programar um pouco em GO e não conseguir ver nenhuma vantagem de processos.
Obvio que empresas vão usar e é por isso que ela está aí tracionando com você disse, mas minha pergunta é: Qual o motivo de migrar, passar pela curva de aprendizado.
GO me parece complicar muitas coisas que outras linguagens já simplificaram, obvio que isso é em prol da performance, mas levand em consideração cloud e serviços, n´so realmente vamos precisar atender tantas requisições de forma sincrona?
Se eu tenho que aprender GO em pouco tempo estou programando, mas um dev que começou hoje, vai olhar pra esse baixo nível e vai conseguir ter por onde começar a entender?
@@WaldirBorbaJunior Então, eu gosto justamente da Verbosidade do Java, não tenho preguiça de escrever código, no exemplo a api é uma letra "g.Delete" g o que? porque? de onde?
Eu gosto da organização que o padrão java fornece há quase 30 anos, tem um mundo construído em cima desse padrão, EU, no MEU caso, não largaria o Java pelo GO.
Até porque basta colocar no Linkedin as vagas relacionadas.
@@Filhodanuvem por exemplo, o que me pega é quebrar alguns paradigmas em prol de escrever menos.
Tem um livrinho que tenho absoluta certeza que você já leu chamado Clean Code e olhando pra função main do seu exemplo, a gente já fere os paradigmas.
Exemplo:
na resposta da lib ela implementa um método chamado H, "gin.H" H o que? de onde saiu H, o que significa H? e se isso está numa lib amplamente usada, quer dizer que é um padrão.
quando você instancia o gin, usa a variavel "g" tudo isso pra não escrever "gin"? se dentro de um contexto maior alguém ver lá g.GET, ele tem que imaginar que isso é a instancia do seu gerenciador HTTP.
var httpHandler = HttpHandler.newInstance();
g := gin.Default()
g.GET("/", func(ctx, *gin.Context)){
ctx.JSON(200, gin.H{
"message" : "hello world"
});
}
@GetMapping("/")
void get(){
ResponseEntity.ok("Hello World)
}
realmente economizamos alguma coisa aqui?
Eu sei que por trás do java essas coisas estão escritas e to dando um exemplo com Spring, mas onde é mais simples de ser entendido?
Acho que o GO é fantastico em muitas coisas, mas a sintaxe, na MINHA opinião (que não vale nada) é MUITO fraco.
Água kkkkkk
🚿 haha
agua kk
🐳
ÁGUAAA
🚿
água
🚿
Água
🌧️
agua
🌊
agua
💧