masalibの日記

システム開発、運用と猫の写真ブログです

golang の入門 Fiber(http server)1

Fiberとは

Fiber は、Go 言語で開発された高速で軽量なウェブフレームワークです。Fiber は、Express.js(Node.js の有名なウェブフレームワーク)にインスパイアされており、シンプルで使いやすい API を提供しています。以下に Fiber の主要な特徴と利点について説明します。

特徴と利点

  • 高速:Fiber は、極めて高速なパフォーマンスを提供します。Go 言語自体の高速性に加え、効率的なルーティングとミドルウェアの処理により、高いスループットと低いレイテンシを実現します。シンプルな API:Express.js にインスパイアされているため、使い慣れた API 設計がされています。Node.js ユーザーには特に親しみやすいです。
  • 軽量:Fiber は非常に軽量であり、余分な依存関係が少ないため、パフォーマンスを最大限に引き出すことができます。
  • ミドルウェアのサポート:多くのミドルウェアがサポートされており、必要な機能を簡単に追加できます。例えば、ログ、セキュリティ、圧縮、静的ファイルの提供などです。
  • 互換性:Go の標準ライブラリと完全に互換性があります。Go の既存のライブラリやツールを活用することができます

基本的な使用方法

Fiber の基本的な使い方を以下に示します。

go get -u github.com/gofiber/fiber/v2
package main

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

func main() {
    app := fiber.New()

    app.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("Hello, World!")
    })

    app.Listen(":3000")
}

結果画面

go run fibertest.go

 ┌───────────────────────────────────────────────────┐
 │                   Fiber v2.52.4                   │
 │               http://127.0.0.1:3000               │
 │       (bound on host 0.0.0.0 and port 3000)       │
 │                                                   │
 │ Handlers ............. 2  Processes ........... 1 │
 │ Prefork ....... Disabled  PID ............. 30916 │
 └───────────────────────────────────────────────────┘

当たり前ですが簡単にHTTPサーバーが立ち上がりました (windowsの場合は警告がでるので注意)