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

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>