Skip to content

Instantly share code, notes, and snippets.

View krittawatcode's full-sized avatar

Krittawat W krittawatcode

View GitHub Profile
package main
import "fmt"
type Soldier struct {
name string
corrupt bool
}
func buggyLoop(soldiers []Soldier) {
@krittawatcode
krittawatcode / main.go
Created December 11, 2020 07:12
main with fixed func
package main
import "fmt"
// Soldier use for all case here
type Soldier struct {
name string
corrupt bool
}
package models
// Todo ...
type Todo struct {
ID uint `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
}
// TableName use to specific table
package domains
import (
"github.com/krittawatcode/go-todo-clean-arch/models"
)
// ToDoUseCase ...
type ToDoUseCase interface {
GetAllToDos() (t []models.Todo, err error)
CreateATodo(t *models.Todo) (err error)
package repositories
import (
_ "github.com/go-sql-driver/mysql" // use to connect db
"github.com/jinzhu/gorm"
"github.com/krittawatcode/go-todo-clean-arch/domains"
"github.com/krittawatcode/go-todo-clean-arch/models"
)
type todoRepository struct {
package usecases
import (
"github.com/krittawatcode/go-todo-clean-arch/domains"
"github.com/krittawatcode/go-todo-clean-arch/models"
)
// UseCase don't give a shit about the world!!
type todoUseCase struct {
todoRepo domains.ToDoRepository
package deliveries
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/krittawatcode/go-todo-clean-arch/domains"
"github.com/krittawatcode/go-todo-clean-arch/models"
)
package routes
import (
"github.com/gin-gonic/gin"
"github.com/krittawatcode/go-todo-clean-arch/databases"
"github.com/krittawatcode/go-todo-clean-arch/deliveries"
"github.com/krittawatcode/go-todo-clean-arch/repositories"
"github.com/krittawatcode/go-todo-clean-arch/usecases"
)
package database
import (
"fmt"
"os"
"github.com/jinzhu/gorm"
)
// DB is a global var for connect DB
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jinzhu/gorm"
"github.com/krittawatcode/go-todo-clean-arch/databases"
"github.com/krittawatcode/go-todo-clean-arch/deliveries/routes"
"github.com/krittawatcode/go-todo-clean-arch/models"