Go语言web框架学习—Gin

Go语言web框架学习—Gin

开发环境:
操作系统:ubuntu1804 x64
Golang 版本:go1.12.5.linux-amd64

一、go语言环境的安装

1.Go语言中文网Go语言中文网下载安装包

go语言中文网下载Go的安装包

2.解压安装

2.0.Ctrl+Alt打开终端

在键盘中按下Ctrl+Alt打开终端

2.1.进入下载文件夹

cd Downloads/
在终端输入cd Downloads
ll
在下载文件夹中找到下载的go的tar.gz文件

2.2.解压到/usr/local/目录下

sudo tar -zxvf go1.12.5.linux-amd64.tar.gz -C /usr/local/
解压到/usr/local/目录下

2.3.进入/usr/local/下查看是否存在go的文件夹

cd /usr/local/
ll
进入/usr/local/下查看是否有go文件夹

2.4.配置环境变量【全局配置文件bash.bashrc】

  • 创建工作空间
    在用户的家目录(/home/linux/)下创建一个用于go的工作空间,也就是GOPATH所在目录
mkdir -p workspace/go/
创建工作空间
  • 创建工作空间的三个目录src,bin,pkg
    mkdir -p workspace/go/src workspace/go/bin workspace/go/pkg
    
创建工作空间三个目录
  • 安装vim编辑器
sudo apt install vim -y
ll
安装vim编辑器
  • 使用vim打开配置文件
sudo vim /etc/bash.bashrc
编辑全局配置文件,输入完成后需要回车才能编辑
  • 在末尾插入并编辑
    打开后按下键盘中英文小写g直接定位在首行,按下键盘英文G直接定位到末尾


    键盘按下大写G直接定位到末尾

    按下英文小写o键,直接在末尾的下一行进行插入编辑


    在末尾的下一行进行插入编辑
  • 在末尾粘贴如下代码
    export GOPATH=/linux/home/workspace/go/中的linux是用户名,不是linux系统名
export GOROOT=/usr/local/go
export GOPATH=/home/linux/workspace/go
export GOBIN=/home/linux/workspace/go/bin
export GOPROXY=https://goproxy.io
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$GOBIN:$GOPROXY
在末尾的下一行进行插入编辑
  • 使配置文件生效
source /etc/bash.bashrc 
在末尾的下一行进行插入编辑
go env
测试配置效果

3.下载安装GoLang的集成开发工具IDE-GoLand

goland下载页面
  • 下载完成,进入下载目录,确认是否存在Download文件目录下
cd Downloads/
ls
goland下载完成确认

3.1. 解压到指定目录

sudo tar -zxvf goland-2019.1.3.tar.gz -C /usr/local/
解压到指定目录
  • 进入/usr/local/查看是否存在
cd /usr/local/
ls
goland解压完成确认
  • 进入goland的目录,使用pwd获取文件目录备用
cd GoLand-2019.1.3/
pwd
获取goland文件路径
  • 回到用户家目录
cd 

3.2.配置图标

  • 进入图标配置【/usr/share/applications不是 cd /usr/share/application】
cd /usr/share/applications
进入桌面图标配置相关目录
  • 新建一个goland的桌面图标
sudo vim goland.desktop
创建桌面图标文件
  • 把如下代码插入并适当修改
[Desktop Entry]
Encoding=UTF-8
Version=2019.1.3
Name=GoLand
GenericName=JetBrains GoLand
Comment=Intellij GoLand community version
Exec=/usr/local/GoLand-2019.1.3/bin/goland.sh
Icon=/usr/local/GoLand-2019.1.3/bin/goland.png
Terminal=false
Type=Application
Categories=Development;IDE
插入脚本
  • 保存并退出


    保存并退出
  • 退出终端,然后到ubuntu的菜单中


    进入菜单
  • 进入菜单,搜索,并添加到收藏夹


    进入菜单,搜索,并添加到收藏夹,回到桌面
  • 回到桌面查看


    回到桌面查看确认
  • 双击即可打开

3.3.激活配置

  • 双击打开后,询问是否导入配置,设置为否


    是否导入配置,设置为否

    确认后进入用户许可界面

    勾选并继续
  • 不发送数据给JetBrains


    不发送数据

    激活
  • 激活完成


    激活完成

4.Go语言web框架GIN环境配置

4.1.下载安装

  • Ctrl+T 打开终端,并输入go get -u -v github.com/gin-gonic/gin
go get -u -v github.com/gin-gonic/gin
  • -u代表的是如果有就更新,-v代表的是安装过程是否需要展示在终端
    下载Gin
  • Enter键按下后发现报错,提示没有Git


    下载Gin报错没有Git
  • 安装Git
sudo apt install git -y
下载并安装Git
  • 再次执行下载安装gin
go get -u -v github.com/gin-gonic/gin
缺少golang.org/x/sys包
  • 在GOPATH/src目录下创建一个golang.org/x的目录,并进入
cd $GOPATH/src
mkdir -p golang.org/x/ && cd "$_"
创建golang.org/x/目录
  • 进入github的golang的扩展包页面copy链接golang.org/x/sys
    搜索获取sys包
  • 获取git clone 的链接


    获取链接
git clone https://github.com/golang/sys.git
执行克隆
  • 再次执行下载git
go get -u -v github.com/gin-gonic/gin
执行下载安装完成

4.2.或者使用包管理工具Govendor安装【可选操作】

  • go get govendor(安装)
go get github.com/kardianos/govendor
  • 创建项目文件夹web并进入文件夹
mkdir -p $GOPATH/src/web && cd "$_"
  • 初始化项目并添加 gin
govendor init
govendor fetch github.com/gin-gonic/gin@v1.3
  • 复制一个模板到上一步创建的项目名为web的项目中
curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go
  • 运行项目
go run main.go

4.3.直接使用GoLand创建工程

打开GoLand,并选择创建新工程
  • 修改项目名称(项目一般不修改工作路径,只对项目名修改)和GOROOT(Go安装路径/usr/local/go)


    修改项目名和GOROOT

    进入IDE代码开发界面
  • 修改GOPATH和GOROOT,确保和配置Go的环境变量时一致


    打开设置

    设置GOROOT

    设置GOPATH
  • 创建测试的Go文件Demo


    创建测试Demo

    创建名为ginDemo的go语言文件
  • 复制代码到ginDemo中
package main

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

func main() {
    // 获取gin的默认路由
    r := gin.Default()
    // 设置web请求为/的回调处理函数
    r.GET("/", func(c *gin.Context) {
        // 上下文的返回JSON格式数据,参数1为状态码,参数2为返回的数据,是一个map
        c.JSON(http.StatusOK, gin.H{
            "msg": "Hello Go Web Framework Gin!",
        })
    })
    // 运行:监听并提供服务【如果没有设置Run中的参数,默认监听0.0.0.0:8080】
    r.Run()
}
复制到ginDemo.go中并保存

4.4. 运行测试

  • 打开终端【Ctrl+Alt+T】进入ginDemo.go所在文件目录
cd $GOPATH/src/web
  • 执行命令进行测试
go run ginDemo.go
开启服务成功
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 申金鑫 17101223365 转载自公众号flysnow_org 【嵌牛导读】:本文介绍了各种系统下的Go语言环...
    Felixxin阅读 3,369评论 0 20
  • 欢迎扫码关注公众号flysnow_org,第一时间看后续文章。觉得有帮助的话,顺手分享到朋友圈吧,感谢支持。 前段...
    飞雪无情flysnow_org阅读 33,162评论 4 45
  • 在你现有的生活中,回想3件幸福的事情,并考虑如何让这种幸福持续。 ——第三本书《持续的幸福》塞利格曼 从今年6.1...
    Leice阅读 576评论 3 8
  • 就在去年,我都一直打从心里认为:一辈子只做一件自己喜欢的事情,是很幸福的。 开一间百年老店,匠心独运。也可以是街角...
    等等不再等阅读 140评论 5 1
  • 不知是我身体的感受力增强了?体质下降了?还是今年北方的这个春天真的冷?从入春以来,没感到过春日暖意,反倒日日冷得不...
    尤永录阅读 868评论 0 49