网络编程方面,Go语言广泛应用于 Web 应用、API 应用、下载应用等; (推荐学习:go)
使用go语言来做web开发,是非常方便的。如果不使用框架,仅仅使用net/http包,也能快速开发一个web应用。
但是,官方包不支持RESTful风格的API,所以我们依然还是需要选择一个框架来帮助我们进行开发。
我们在github上输入web,选择go语言项目,按star数进行排序,大概有以下几个项目,在社区中比较受欢迎:
caddy
gin
beego
martini
gotty
echo
revel
iris
登录后复制
其中值得一提的是,beggo是国人开发维护的项目,作为起步学习阶段,我们选择大名鼎鼎的gin项目进行探索。
创建项目 安装依赖
mkdir gin-demo
// add to env var
cd gin-demo
go get github.com/gin-gonic/gin
cd src
touch main.go
登录后复制
Hello World
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}
登录后复制
当我们运行这段代码之后,程序将监听8080端口,通过浏览器进行访问,页面即显示pong。
分析一下这段代码,首先导入gin包,获取一个引擎实例,然后做路由分发,监听端口。