Aula 05 – Golang – Fiber – Packages
Aula 05 – Golang – Fiber – Packages
Voltar para página principal do site
Todas as aulas desse curso
Aula 04 Aula 06

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