Aula 05 – Golang – Fiber – Packages

Aula 05 – Golang – Fiber – Packages

Voltar para página principal do blog

Todas as aulas desse curso

Aula 04                                               Aula 06

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 05 – Golang – Fiber – Packages

Vamos criar três pastas:

  • database
  • routes
  • controllers

Na pasta database, vamos criar um arquivo chamado: connect.go

Dentro, vamos criar a função connect() e transferir o código relativo a conexão com o banco do main.go (a parte em laranja) para essa função connect().

Vamos retirar os códigos que eram apenas exemplos, mas que não vão fazer parte de fato da aplicação, a linha que tem:

d, e := divide(2, 0)
fmt.Println(d, e)

E a própria função divide().

Resumindo, tudo que tá em laranja sai do main.go.

fiber-project/main.go  

package main

import (
	"errors"
	"fmt"

	"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
}

O main.go vai ficar assim:

fiber-project/main.go  

package main

import (
        "fiber-project/database"
	"github.com/gofiber/fiber/v2"
)

func main() {
	app := fiber.New()
	app.Get("/", home)
	app.Listen(":3000")
}

func home(c *fiber.Ctx) error {
	return c.SendString("Hello, World 👋!")
}

E o connect.go vai ficar assim:

fiber-project/database/connect.go  


package database

import (
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

func Connect() {
	var dsn = "toticavalcanti: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!")

}

Vamos criar a pasta routes e dentro o arquivo routes.go

fiber-project/routes/routes.go  


package routes

import (
	"fiber-project/controllers"

	"github.com/gofiber/fiber/v2"
)

func Setup(app *fiber.App) {
	app.Get("/", controllers.Home)
}

Agora vamos criar a pasta controllers e dentro o arquivo authController.go

fiber-project/controllers/authController.go  

package controllers

import "github.com/gofiber/fiber/v2"

func Home(c *fiber.Ctx) error {
	return c.SendString("Hello, World 👋!")
}

E vamos tirar as partes de código que não irão mais fazer parte da main.go

fiber-project/main.go  

package main

import (
        "fiber-project/database"
	"fiber-project/routes"

	"github.com/gofiber/fiber/v2"
)

func main() {
        database.Connect()
	app := fiber.New()
	routes.Setup(app)
	app.Listen(":3000")
}

Derrube o servidor com ctrl + c e reinicie ele com:


go run main.go

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 04                                               Aula 06

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>