Golang Gin(上)

net/http

Golang(Go语言)内置是有HTTP服务的,我们可以通过内置的net/http包来实现一个HTTP服务。

复制代码
func main() {
    http.HandleFunc("/",Index)

    log.Fatal(http.ListenAndServe(":8080", nil))
}

func Index(w http.ResponseWriter, r *http.Request){
    fmt.Fprint(w,"Hello World")
}
复制代码

 

这就是一个很简单的HTTP服务实现,我们运行这个代码程序,然后在浏览器里打开http://localhost:8080网址,

Hello World

从代码上看实现一个HTTP服务是非常简单的,这也是Golang语言的优势,在底层做了很多封装,可以让我们更容易的实现相关的服务。

虽然net/http看着很便捷、很简单,但是它也存在很多不足:

  1. 不能单独的对请求方法(POST,GET等)注册特定的处理函数

  2. 不支持Path变量参数

  3. 不能很很好的获取参数

  4. 不支持参数校验

  5. 不支持参数绑定

  6. 不能更好的多种格式输出

  7. 性能一般

  8. 扩展性不足

  9. ……

以上等等,这些又都是我们Web开发中常用的,所以我们只能我们自己开发中自己重复的实现,影响了效率,降低了质量,不同人的开发者,性能也不一样。

这时候,我们就非常需要一个Golang Web 框架来帮我们把这些重复的事情做了,这个就是Golang Gin要做的事情了。Golang Gin 作为一个非常优秀的Web框架,帮我们弥补了net/http的不足,同时还增加了很多日常Web开发使用的功能,可以让我们更好的进行Web开发。

Hello Gin

要使用Gin非常简单,它和其他第三方 Golang 库一样。如果你是基于GOPATH开发的,你需要先使用go get -u github.com/gin-gonic/gin 下载gin,然后import导入即可。

如果你是用Go Module这种方式,使用import直接导入使用,然后你在go run运行的时候,会自动的下载gin包编译使用。当然你也可以通过go mod tidy来下载依赖的模块。

当你采用github下载压缩包,放置在本地时,可能遇到   cannot find module providing package github.com/gin-gonic/gin: 安装gin后找不到gin包

执行下边两条命令:

go mod init gin
 
go mod edit -require github.com/gin-gonic/gin@latest

 

现在让我们通过一个例子,看下Golang Gin的使用是多么简单吧。

复制代码
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "Taobao":"alibaba",
            "Wechat":"tencent",
        })
    })
    r.Run(":8080")
}
复制代码

然后我们运行它,打开浏览器,输入http://localhost:8080/就可以看到如下内容:

{

"Taobao":"alibaba",
"Wechat":"tencent"

}

JSON
net/http
posted @   Mr.peter  阅读(292)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示