前言
Gin是一个基于Golang的轻量级Web框架,它提供了简单而强大的API,使得构建Web应用变得更加容易。而Golang作为一种高性能的编程语言,具有出色的并发性能和内置的标准库,使得它成为构建可靠且高效的应用程序的理想选择。
使用Gin框架来搭建一个简单的静态文件服务器
代码
// main.go
package main
import (
"log"
"net/http"
"os"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
})
// 获取命令行参数 go run main.go [staticdir] [port]
args := os.Args
if len(args) < 3 {
log.Println("args length is not 3")
return
}
staticPath := args[1]
serverPort := args[2]
// 校验参数
if staticPath == "" || serverPort == "" {
log.Println("staticPath or serverPort is empty")
return
}
log.Println("staticPath:", staticPath)
log.Println("serverPort:", serverPort)
r.StaticFS("assets", http.Dir(staticPath))
r.Run(":" + serverPort)
}
编译
go mod init fs
go mod tidy
go build .
运行
# 把需要访问的目录设为启动参数,如`assets`
./fs assets 38888
使用
在浏览器中输入http://127.0.0.1:38888/assets