隐藏页面特效

Gin框架入门

1|0参考文档


Gin: https://gin-gonic.com/zh-cn/docs/quickstart/ net/http: https://pkg.go.dev/net/http

2|0代码分析


package main import ( "fmt" "time" // 时间包 "net/http" // 提供了HTTP客户端和服务端的实现 "github.com/gin-gonic/gin" // gin框架 ) func main() { // 返回Gin的`type Engine struct{}`,里面包含RouterGroup, // 相当于创建一个路由Handlers, 可以后期绑定各类的路由规则和函数/中间件等 router := gin.Default() // 创建不同的HTTP方法绑定到Handlers中,支持POST/PUT等常用Restful方法 // gin.Context: Context是gin中的上下文,允许我们在中间件之间传递变量 // 管理流、验证JSON请求、响应json请求等,在gin中包含大量Context的方法 // 例如常用的DefaultQuery、Query、DefaultPostForm、PostForm等 router.GET("/test", func(c *gin.Context) { // 响应json格式类型 // gin.H{}就是一个map[string]interface{} c.JSON(200, gin.H{ "message": "test", }) }) s := &http.Server{ Addr: ":8080", Handler: router, ReadTimeout: 60 * time.Second, WriteTimeout: 60 * time.Second, MaxHeaderBytes: 1 << 20, } s.ListenAndServe() }

3|0&http.Server 和 ListenAndServe


# http.Server type Server struct { Addr string //监听的TCP地址,格式为:8000 Handler Handler // http句柄,实质为ServeHTTP,用于处理程序响应HTTP请求 TLSConfig *tls.Config // 安全传输层协议(TLS)配置 ReadTimeout time.Duration // 允许读取的最大时间 ReadHeaderTimeout time.Duration // 允许读取请求头的最大时间 WriteTimeout time.Duration // 允许写入的最大时间 IdleTimeout time.Duration // 等待的最大时间 MaxHeaderBytes int // 请求头的最大字节数 ConnState func(net.Conn, ConnState) // 指定一个可选的回调函数,当客户端连接时发生变化时调用 ErrorLog *log.Logger //指定一个可选的日志记录器 ... } # ListenAndServe func (srv *Server) ListenAndServe() error { if srv.shuttingDown() { return ErrServerClosed } addr := srv.Addr if addr == "" { addr = ":http" } ln, err := net.Listen("tcp", addr) if err != nil { return err } return srv.Serve(ln) } 开启监听服务,监听TCP网络地址,Addr和调用调用应用程序处理连接上的请求 我们在源码中看到Addr是调用我们在&http.Server中设置的参数,因此我们在 设置时要用&,我们要改变参数的值,因为我们ListenAndServe和其他一些方法 需要用到&http.Server中的参数,他们是相互影响的。

__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/15943848.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(256)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示