Aula 04 – Golang – Fiber – Errors
Aula 04 – Golang – Fiber – Errors
Voltar para página principal do blog
Todas as aulas desse curso
Aula 03 Aula 05

Fiber
Se gostarem do conteúdo dêem um joinha
na página do Código Fluente no
Facebook
Sigam o Código Fluente no Instagram e no TikTok.
Link para a Digital Innovation
Quer aprender python3 de graça e com certificado? Acesse então:
workover
Meus link de afiliados:
Hostinger
Digital Ocean
One.com
Código da aula: Github
Melhore seu NETWORKING
Participe de comunidades de desenvolvedores:
Fiquem a vontade para me adicionar ao linkedin.
E também para me seguir no GITHUB.
PIX para doações

PIX Nubank
Se quiser copiar o código do PIX:
00020126580014BR.GOV.BCB.PIX013643c5f950-535b-4658-b91f-1f1d135fe4105204000053039865802BR5925Antonio Cavalcante de Pau6009SAO PAULO61080540900062070503***6304946B
Aula 04 – Golang – Fiber – Errors
Vamos criar uma função chamada divide() que vai retornar um erro quando tentarmos dividir algum número por zero.
fiber-project/src/main.go
package main
import (
"fmt"
"errors"
"github.com/gofiber/fiber/v2"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
var dsn = "root:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
var v = "Não conseguiu conectar ao banco de dados"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(v)
}
fmt.Println("conexão OK!")
fmt.Println(db)
d, e := divide(2, 1)
fmt.Println(d, e)
app := fiber.New()
app.Get("/", home)
app.Listen(":3000")
}
func home(c *fiber.Ctx) error {
return c.SendString("Hello, World
!")
}
func divide(a int, b int)(int, error){
if b == 0{
return 0, errors.New("you cannot divide by zero")
}
return a / b, nil
}
E para testar execute:
go run main.go
Saída:
Conexão OK!
&{0xc0001725a0 <nil> 0 0xc000332380 1}
2 <nil>
Refatorando
Vamos tirar o fmt.Println(db) e tirar a variável db e substituir por _ nessa linha:
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
_, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
E tentar dividir um número por zero.
fiber-project/src/main.go
package main
import (
"fmt"
"errors"
"github.com/gofiber/fiber/v2"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
var dsn = "root:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
var v = "Não conseguiu conectar ao banco de dados"
_, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(v)
}
fmt.Println("conexão OK!")
d, e := divide(2, 0)
fmt.Println(d, e)
app := fiber.New()
app.Get("/", home)
app.Listen(":3000")
}
func home(c *fiber.Ctx) error {
return c.SendString("Hello, World
!")
}
func divide(a int, b int)(int, error){
if b == 0{
return 0, errors.New("you cannot divide by zero")
}
return a / b, nil
}
Derrube o servidor com ctrl + c e reinicie ele com:
go run main.go
Saída:
Conexão OK!
0 you cannot divide by zero