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

Fiber

Pacote Programador Fullstack

Pacote Programador Fullstack

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

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

Por agora é só, nos vemos na próxima, até lá!

Código da aula: Github

Voltar para página principal do blog

Todas as aulas desse curso

Aula 03                                               Aula 05

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Link do código fluente no Pinterest

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>