Go言語のGinフレームワークで静的ファイルを表示してみた
現実味がありすぎると良くないことありますよね
いやー。空想は空想でいいんですよ?
でも現実を謳っていて、現実味が欠けていると、ちょっとなあ、て思う時があります。
まあいいんですけどね。
結局は変わらないものが良いんですよね。
目次
1. Ginフレームワークとは
Gin
は、Golang
で書かれたWebフレームワークです。
martini
に似たAPI
を持ちながら、非常に優れたパフォーマンスを発揮し、最大で40倍高速であることが特徴です。
martini
(マティーニ)はGo
言語で書かれたWebフレームワークで、モジュラー設計と使いやすさが特徴ですが、パフォーマンスの問題と非標準API
設計により議論を呼んでいます。
詳しくは下記のサイトに。
2. コード例
main.goのコード例
ここではred.html、blue.html、yellow.htmlの三つを表示させます。
ファイル構造は以下のようになります。
ls
> go.mod go.sum main.go public
ls public
> blue.html red.html yellow.html
main.go
import (
"github.com/gin-gonic/gin"
)
func main() {
engine := gin.Default()
// 静的ファイルのルートを追加
engine.StaticFile("/red", "./public/red.html") // publicディレクトリ内のred.htmlを提供
engine.StaticFile("/blue", "./public/blue.html") // publicディレクトリ内のblue.htmlを提供
engine.StaticFile("/yellow", "./public/yellow.html") // publicディレクトリ内のyellow.htmlを提供
engine.Run(":" + "8080")
}
htmlのコード例(red.html)
htmlを試しに書いてみます。
<!DOCTYPE html>
<html>
<head>
<tile>Red Page</tile>
</head>
<body style="background-color: red;">
<h1>Welcome to the Red Page!</h1>
</body>
</html>
実行してみると
go mod init static
go get -u github.com/gin-gonic/gin
go build
./static //実行ループ
立ち上がったので、ブラウザで
http://localhost:8080/red
と検索してみると以下のようなサイトが表示されます。
3. おわりに
意外とGin
ではGET
とかPOST
の処理ばかりやるので、静的ファイルについて学んでみました。
ここから先の、CSS
とかあまり詳しくないので色々と遊んでみたいなと思いました。