📜  flamingo (1)

📅  最后修改于: 2023-12-03 15:30:46.955000             🧑  作者: Mango

Flamingo

Flamingo

简介

Flamingo是一个基于Go语言的Web框架,它具有极高可扩展性和可定制性。它提供了一组强大的工具,使得开发者可以更加高效地开发Web应用程序。

特性
  • 快速: Flamingo提供了快速开发Web应用程序所需要的所有工具,包括路由、中间件、处理器和模板等。
  • 易用性: Flamingo拥有干净、简单、易于理解的API设计,使得初学者也能够轻松上手。
  • 可定制性: Flamingo提供了丰富的扩展点和插件机制,开发者可以根据自己的需要轻松地扩展和定制功能。
  • 可扩展性: Flamingo的核心组件是基于接口开发的,因此新的组件可以轻松地添加到框架中。
示例
package main

import (
    "github.com/dimfeld/httptreemux/v5"
    "github.com/flamingo/flamingo/v3"
    "github.com/flamingo/flamingo/v3/pkg/delivery/http/handler"
    "github.com/flamingo/flamingo/v3/pkg/delivery/http/middleware"
)

type MyController struct {
    flamingo.Controller
}

func (c *MyController) Get() string {
    return "Hello from Flamingo!"
}

func main() {
    app := flamingo.App([]flamingo.Module{})
    
    router := httptreemux.New()
    router.GET("/", handler.HandlerFunc(func() string {
        return "Welcome to Flamingo!"
    }))
    router.GET("/hello", handler.HandlerFunc(func() string {
        return "Hello from Flamingo!"
    }))

    // 添加middlewares
    router.Use(middleware.LoggerMiddleware)
    router.Use(middleware.RecoveryMiddleware)

    app.Router().Handle("/", router)
    app.Serve()
}
安装
go get -u github.com/flamingo/flamingo/v3
结论

Flamingo是一个功能强大的Go语言Web框架,具有高可扩展性和可定制性,可以快速开发高效的Web应用程序。如果你是一个有经验的Go开发者,那么Flamingo将是你不可缺少的工具之一。