Gin + Vue全栈开发实战(一)

Gin入门

 

本章概要

  • Gin简介
  • 开发第一个Gin程序

 

1.1 Gin简介

        Gin是用Go语言编写的一个轻量级Web应用框架,现在在各个公司包括字节跳动、bilibili等大互联网公司都得到了广泛的应用。它有很好的性能和更快的路由。由于其本身只是在官方 net/http 包的基础上做的完善,所以理解和上手很平滑。优雅的封装,友好的API,明确的注释。如果你们打算Go语言来构建一个Web应用,我非常推荐你使用它。总体来说,Gin的主要有如下优势:

  • 极其优秀的性能表现
  • 拥有 Go 的编程思想
  • 基于官方 net/http 包的有限封装
  • 使用了史上最快的路由 httprouter
  • 方便、灵活的中间件
  • 强大的数据绑定
  • 活跃的开发者

        Gin和Go语言一样,是一个“年轻”的项目,发展非常迅速,使用者越来越多。非常适用于大小公司的线上环境运行。

 

1.2 开发第一个Gin程序

        Go经过多年的演进,也产生了很多的依赖管理工作,包括dep,govendor等,在Go11版本后建议大家使用Go Modules来进行依赖管理。

1.2.1 创建Go Modules工程

这里不过多说明Go Modules的介绍,只介绍两种创建Go Modules工程的方式。

1. 使用命令行创建Go Modules工程

首先可以通过go mod命令创建一个Go Modules工程,在cmd窗口中执行如下命令:

1 go mod init
2 # 使用 go help mod 可以了解更多关于这个工具的使用。

使用命令行创建后,直接使用GoLand打开即可。

2. 使用GoLand创建Go Modules工程

GoLand作为与Intellij IDEA同属JetBrains公司出品的编码工具,在业界得到了广泛的应用。使用GoLand创建Go Modules的步骤如下:

步骤一:创建项目时选择Go Modules,然后按照需要选择项目存放的位置和命名好项目名称即可。

 

在国内,我们可以使用https://athens.azurefd.net/作为代理,以免下载不到被墙的官方依赖包。

 

1.2.2 项目构建

1.添加依赖 (可选)

在对应项目目录的go.mod文件中添加Gin依赖:

 require github.com/gin-gonic/gin v1.4.0
2.编写启动类

接下来创建项目的入口文件,在项目根目录(与go.mod同级目录)创建一个main.go文件,代码如下:

package main

import (
"github.com/gin-gonic/gin"
"net/http"
)

func main() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.String(http.StatusOK, "hello gin!")
})
r.Run() // listen and serve on 0.0.0.0:8080
}

为什么说第一步是可选的呢?是因为如果你敲入代码,代码中又有对应依赖引入(import),在运行启动命令时会自动帮你下载需要的依赖。非常智能,而IDE也会做同样的事情。

1.2.3 项目启动

启动项目有三种不同的方式,下面一一介绍。

1.使用命令行启动

可以直接到相关目录使用命令行启动项目,命令如下:

go run main.go
或
go run .

 

 

启动成功后,在浏览器地址栏输入 “http://localhost:8080/hello" 即可看到运行结果,运行结果如图1-5所示。

2.直接运行main方法

直接在IDE中运行main方法,就可以看到项目启动了,如图1-5所示。

图1-5

启动成功后,也可以在浏览器中直接访问/hello接口。

 

3.打包启动

当然,Go应用也可以直接打成目标文件运行,在不同的环境中可以编译打成不同的包,在windows环境是.exe文件,直接运行编译打包命令:

go build main.go
go build .

打包完成后可以直接运行可执行文件即可,如图1-7所示

                                                                 图1-7

 

1.3 小结

        本章主要向读者介绍了一个简单的Gin项目的基本创建过程,从而让读者感受Gin的魅力。当一个Gin项目创建成功后,只需要少量的代码就可以启动一个性能非常好的Web应用,开发者可以直接使用它进行接口和Web应用的开发。第2章向读者详细介绍一下Gin的路由功能。

        本章代码地址

posted on 2019-08-15 15:37  三和大神宋总  阅读(9707)  评论(11编辑  收藏  举报

导航