婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 手把手教你導入Go語言第三方庫

手把手教你導入Go語言第三方庫

熱門標簽:揚州電銷外呼系統軟件 智能語音電銷的機器人 開通400電話申請流程 上海企業外呼系統排名 如何利用高德地圖標注家 百度地圖標注位置網站 電腦外呼系統輻射大嗎 400手機電話免費辦理 武漢百應人工智能電銷機器人

最好的學習方式就是實踐。 我們通過導入gin包來深入學習。

環境

  • go 1.13.5
  • goland 2019.3.1
  • manjaro-gnome3.34.2

環境變量

首先回想一下,我們安裝goland的時候,設置了幾個比較重要的環境變量,也就是GOROOT和GOPATH。

GOROOT比較容易理解。也就是我們go語言的安裝目錄,標準庫什么的就放在里面的。在linux中的話,默認安裝到/usr/lib/go中,我們創建項目時選擇的SDK也就是這個。

GOPATH可以理解為工作目錄。GOPATH指定的目錄下一般有三個子目錄。如下:

GOPATH    //go工作目錄
  |
  |--bin     //編譯后生成的可執行文件
  |
  |--pkg     //編譯后生成的包/庫文件
  |
  |--src     //項目的源代碼文件

bin目錄容易理解,而pkg包就是放第三方庫的地方,像go get后的包就在里面。src目錄就是放項目源代碼的,一般都是把多個項目都放到src目錄下,然后對這些項目統一管理,也就是共用bin和pkg,如果在不同目錄放項目,然后把這些項目都放到GOPATH中,顯然會有沖突。故一般都不推薦這么做。

我們可以在終端中輸入go env查看環境變量,下面是我的配置目錄:

實踐導包

現在我們先創建一個新項目,實際嘗試一下。

然后新建一個main文件,輸入:

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() 
}

再打開終端,輸入go mod init, 直接跑一下,會發現直接在下載import的包了,這時候如果直接跑的話,是發現能直接跑的,但是發現報紅, 輸入也不會自動補全。

這時候只需打開setting,把go mod打勾,如下。然后直接跑一下,或者重新打開ide因該就不會報紅了。

當然我們也可以手動自己下載,只需使用go get命令。

go get -u github.com/gin-gonic/gin

但是發現根本沒有反應,輸入go env查看發現有個變量叫GO111MODULE,這玩意是干什么的呢, 是用來配置go mod用的,比如什么時候到go path,goroot去找,或者直接在go mod中找。一共有三個狀態。

  • GO111MODULE=auto, 這個是默認值,根據一些情況自動判斷是否打開go mod。
  • GO111MODULE=on,打開go mod
  • GO111MODULE=off關閉go mod

于是我們輸入go env -w GO111MODULE=on打開go mod,再次輸入go get -u github.com/gin-gonic/gin,但是會發現下載的速度簡直感人,這是因為服務器在國外的嘛,你懂得,我們可以設置代理。

go env -w GOPROXY=https://goproxy.cn,direct

再次go get,發現速度飛起,嘗試run一下,如果出現報紅問題,像上面那樣解決一下。

當然我們也可以項目放到GOPATH目錄以外。如下

同樣的,如果要導包的話,像上面那樣使用go mod就行了。

我們可以進入GOPATH目錄下的pkg目錄,會發現我們導入的包在這里面的。

我們也可以進入goland,

發現外部庫有兩個,一個是SDK,也就是go的安裝目錄(GOROOT),標準庫就在這里的。另一個是go mod,就是我們剛剛導入的,放到GOPATH/pkg下的包。

到此這篇關于手把手教你導入Go語言第三方庫的文章就介紹到這了,更多相關Go導入第三方庫內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • golang gopm get -g -v 無法獲取第三方庫的解決方案
  • golang 輸出重定向:fmt Log,子進程Log,第三方庫logrus的詳解
  • golang值類型轉換成[]uint8類型的操作
  • go 類型轉換方式(interface 類型的轉換)
  • Mongodb 利用mongoshell進行數據類型轉換的實現方法
  • Go語言string,int,int64 ,float之間類型轉換方法
  • GO語言類型轉換和類型斷言實例分析
  • Go 第三方庫之類型轉換問題

標簽:黑龍江 江西 張掖 武漢 新余 延邊 嘉峪關 宜賓

巨人網絡通訊聲明:本文標題《手把手教你導入Go語言第三方庫》,本文關鍵詞  手把手,教你,導入,語言,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《手把手教你導入Go語言第三方庫》相關的同類信息!
  • 本頁收集關于手把手教你導入Go語言第三方庫的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 康保县| 江阴市| 鄂伦春自治旗| 凉城县| 安吉县| 卫辉市| 舞阳县| 双城市| 法库县| 临沂市| 河北省| 岗巴县| 延安市| 上蔡县| 永吉县| 廊坊市| 鸡西市| 北海市| 尼玛县| 宁阳县| 张家川| 金秀| 嫩江县| 色达县| 分宜县| 屏山县| 历史| 杂多县| 申扎县| 白水县| 东台市| 湖北省| 浮山县| 瓮安县| 阿拉尔市| 朝阳市| 察雅县| 蒙山县| 宣化县| 武城县| 金湖县|