Go語言web框架學(xué)習(xí)—Gin

Go語言web框架學(xué)習(xí)—Gin

開發(fā)環(huán)境:
操作系統(tǒng):ubuntu1804 x64
Golang 版本:go1.12.5.linux-amd64

一胀糜、go語言環(huán)境的安裝

1.Go語言中文網(wǎng)Go語言中文網(wǎng)下載安裝包

go語言中文網(wǎng)下載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/下查看是否有g(shù)o文件夾

2.4.配置環(huán)境變量【全局配置文件bash.bashrc】

  • 創(chuàng)建工作空間
    在用戶的家目錄(/home/linux/)下創(chuàng)建一個用于go的工作空間烤镐,也就是GOPATH所在目錄
mkdir -p workspace/go/
創(chuàng)建工作空間
  • 創(chuàng)建工作空間的三個目錄src,bin,pkg
    mkdir -p workspace/go/src workspace/go/bin workspace/go/pkg
    
創(chuàng)建工作空間三個目錄
  • 安裝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系統(tǒng)名
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的集成開發(fā)工具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
進入桌面圖標配置相關(guān)目錄
  • 新建一個goland的桌面圖標
sudo vim goland.desktop
創(chuàng)建桌面圖標文件
  • 把如下代碼插入并適當修改
[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.激活配置

  • 雙擊打開后,詢問是否導(dǎo)入配置藏斩,設(shè)置為否


    是否導(dǎo)入配置躏结,設(shè)置為否

    確認后進入用戶許可界面

    勾選并繼續(xù)
  • 不發(fā)送數(shù)據(jù)給JetBrains


    不發(fā)送數(shù)據(jù)

    激活
  • 激活完成


    激活完成

4.Go語言web框架GIN環(huán)境配置

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鍵按下后發(fā)現(xiàn)報錯媳拴,提示沒有Git


    下載Gin報錯沒有Git
  • 安裝Git
sudo apt install git -y
下載并安裝Git
  • 再次執(zhí)行下載安裝gin
go get -u -v github.com/gin-gonic/gin
缺少golang.org/x/sys包
  • 在GOPATH/src目錄下創(chuàng)建一個golang.org/x的目錄,并進入
cd $GOPATH/src
mkdir -p golang.org/x/ && cd "$_"
創(chuàng)建golang.org/x/目錄
  • 進入github的golang的擴展包頁面copy鏈接golang.org/x/sys
    搜索獲取sys包
  • 獲取git clone 的鏈接


    獲取鏈接
git clone https://github.com/golang/sys.git
執(zhí)行克隆
  • 再次執(zhí)行下載git
go get -u -v github.com/gin-gonic/gin
執(zhí)行下載安裝完成

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

  • go get govendor(安裝)
go get github.com/kardianos/govendor
  • 創(chuàng)建項目文件夾web并進入文件夾
mkdir -p $GOPATH/src/web && cd "$_"
  • 初始化項目并添加 gin
govendor init
govendor fetch github.com/gin-gonic/gin@v1.3
  • 復(fù)制一個模板到上一步創(chuàng)建的項目名為web的項目中
curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go
  • 運行項目
go run main.go

4.3.直接使用GoLand創(chuàng)建工程

打開GoLand,并選擇創(chuàng)建新工程
  • 修改項目名稱(項目一般不修改工作路徑北专,只對項目名修改)和GOROOT(Go安裝路徑/usr/local/go)


    修改項目名和GOROOT

    進入IDE代碼開發(fā)界面
  • 修改GOPATH和GOROOT禀挫,確保和配置Go的環(huán)境變量時一致


    打開設(shè)置

    設(shè)置GOROOT

    設(shè)置GOPATH
  • 創(chuàng)建測試的Go文件Demo


    創(chuàng)建測試Demo

    創(chuàng)建名為ginDemo的go語言文件
  • 復(fù)制代碼到ginDemo中
package main

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

func main() {
    // 獲取gin的默認路由
    r := gin.Default()
    // 設(shè)置web請求為/的回調(diào)處理函數(shù)
    r.GET("/", func(c *gin.Context) {
        // 上下文的返回JSON格式數(shù)據(jù),參數(shù)1為狀態(tài)碼拓颓,參數(shù)2為返回的數(shù)據(jù)语婴,是一個map
        c.JSON(http.StatusOK, gin.H{
            "msg": "Hello Go Web Framework Gin!",
        })
    })
    // 運行:監(jiān)聽并提供服務(wù)【如果沒有設(shè)置Run中的參數(shù),默認監(jiān)聽0.0.0.0:8080】
    r.Run()
}
復(fù)制到ginDemo.go中并保存

4.4. 運行測試

  • 打開終端【Ctrl+Alt+T】進入ginDemo.go所在文件目錄
cd $GOPATH/src/web
  • 執(zhí)行命令進行測試
go run ginDemo.go
開啟服務(wù)成功
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市砰左,隨后出現(xiàn)的幾起案子匿醒,更是在濱河造成了極大的恐慌,老刑警劉巖缠导,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廉羔,死亡現(xiàn)場離奇詭異,居然都是意外死亡僻造,警方通過查閱死者的電腦和手機憋他,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來髓削,“玉大人竹挡,你說我怎么就攤上這事×⑻牛” “怎么了揪罕?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宝泵。 經(jīng)常有香客問我好啰,道長,這世上最難降的妖魔是什么儿奶? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任框往,我火速辦了婚禮,結(jié)果婚禮上廓握,老公的妹妹穿的比我還像新娘搅窿。我一直安慰自己,他們只是感情好隙券,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布男应。 她就那樣靜靜地躺著,像睡著了一般娱仔。 火紅的嫁衣襯著肌膚如雪沐飘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天牲迫,我揣著相機與錄音耐朴,去河邊找鬼。 笑死盹憎,一個胖子當著我的面吹牛筛峭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陪每,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼影晓,長吁一口氣:“原來是場噩夢啊……” “哼镰吵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挂签,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤疤祭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后饵婆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勺馆,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年侨核,在試婚紗的時候發(fā)現(xiàn)自己被綠了草穆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡芹关,死狀恐怖续挟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情侥衬,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布跑芳,位于F島的核電站轴总,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏博个。R本人自食惡果不足惜怀樟,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盆佣。 院中可真熱鬧往堡,春花似錦、人聲如沸共耍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痹兜。三九已至穆咐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間字旭,已是汗流浹背对湃。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留遗淳,地道東北人边篮。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像炬太,于是被迫代替她去往敵國和親屏富。 傳聞我的和親對象是個殘疾皇子脂男,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 申金鑫 17101223365 轉(zhuǎn)載自公眾號flysnow_org 【嵌牛導(dǎo)讀】:本文介紹了各種系統(tǒng)下的Go語言環(huán)...
    Felixxin閱讀 3,379評論 0 20
  • 歡迎掃碼關(guān)注公眾號flysnow_org,第一時間看后續(xù)文章往果。覺得有幫助的話疆液,順手分享到朋友圈吧,感謝支持陕贮。 前段...
    飛雪無情flysnow_org閱讀 33,184評論 4 45
  • 在你現(xiàn)有的生活中堕油,回想3件幸福的事情,并考慮如何讓這種幸福持續(xù)肮之。 ——第三本書《持續(xù)的幸傅羧保》塞利格曼 從今年6.1...
    Leice閱讀 593評論 3 8
  • 就在去年筐高,我都一直打從心里認為:一輩子只做一件自己喜歡的事情搜囱,是很幸福的。 開一間百年老店柑土,匠心獨運蜀肘。也可以是街角...
    等等不再等閱讀 143評論 5 1
  • 不知是我身體的感受力增強了?體質(zhì)下降了稽屏?還是今年北方的這個春天真的冷扮宠?從入春以來,沒感到過春日暖意狐榔,反倒日日冷得不...
    尤永錄閱讀 874評論 0 49