目錄
一些常識
首頁 常見問題 Go語言中有依賴的套件嗎

Go語言中有依賴的套件嗎

Apr 17, 2023 pm 04:14 PM
go 語言 golang程式設計

Go語言中有依賴的包,其安裝依賴包的方法有∶1、使用“go get”命令安裝依賴包;2、開啟“go mod”,然後在工程目錄下使用"“ go get"拉包;3、在github中手動下載依賴包並放到對應的目錄;4、拷貝“GOPATH/pkg/mod”下對應的包;5、直接把程式碼放到工程裡面,然後使用“ go tidy」自動規整套件依賴即可。

Go語言中有依賴的套件嗎

本教學作業系統:Windows10系統、go1.20版、Dell G3電腦.

#Go語言中有依賴的套件。

雖然go現在已經有比較好用的go mod套件管理工具了。但是由於某些不可描述的原因,在安裝依賴時對於新手依舊會有很多問題,一起來看看怎麼解決吧?

Go語言中有依賴的套件嗎

#一、直接go get

從第一天接觸go的套件依賴開始,你的老師或看到的資料都是告訴你:直接go get

這是最原始的安裝方式,能解決大部分套件的依賴問題。

但不是100% 都能安裝成功,例如上面截圖裡面的套件:golang.org/x/crypto/ssh

#直接go get,可能會因為不可描述的原因無法存取到golang.org這個網址,套件就無法安裝成功。

二、設定GOPROXY

go mod是go 1.11 新加的特性。

所以只要go版本大於1.11,就自帶了go mod套件管理。

這是個好東西,如果開啟了go mod

專案裡面初始化了go mod,再在工程目錄下面使用go get拉包會自動使用go mod拉包,並整理到go.mod檔裡。

但是預設使用的來源是國外的,所以安裝依賴套件一般都很慢,或不能成功。

所以需要設定下他們的代理,讓他們從國內的伺服器出去,這樣速度和穩定性都能更好些。

如果使用的是goland可以command ,喚出偏好設置,在裡面設置代理:

Go語言中有依賴的套件嗎

#推薦代理到https://goproxy.cn這個上,七牛雲家的,一直使用,很穩定。

修改好後,記得重新開啟終端機!

如果使用的是其他IDE或命令行,自行百度怎麼設定代理。

設定完成後使用go env可以看到目前go使用到的環境變量,可以用來檢查配置是否OK。

三、使用github

如果上面兩步驟操作後都還不能安裝成功,就得使用非正常手段來安裝依賴了。

套件的引用情況

首先需要理解go本地的套件是怎麼存放,怎麼引用的。

  • 如果是傳統的go get下載的依賴套件會存放在GOPATH/src/網域名稱/套件名稱 下面。
  • 如果是使用的go mod下載的依賴套件會存放在GOPATH/pkg/mod/網域名稱/套件名稱@版本號碼 下面。

所以可以把套件手動下載放到對應的目錄下面即可。

手動下載包

對於github國內並不是完全不能訪問,只是可能會比較慢,或者時常打不開,此時可以碰碰運氣。

官方套件都可以在這個倉庫下面找到:github.com/golang

如何安裝在每個包的README.md裡面都會有描述:

The easiest way to install is to run go get -u http://golang.org/x/net. You can also manually git clone the repository to $GOPATH/src/http://golang.org/x/net.

大部分的依賴套件都能在github裡面找到對應套件。

四、利用人脈

沿用上一個方案的思路,不是所有人都不能科學上網,可以尋求身邊能科學上網的朋友,幫你下載包給你。

然後把GOPATH/pkg/mod下面對應的包拷貝。

五、使用go mod

最後還有一個場景,那就是知道套件名字,透過文件拿到一些範例demo。

直接把程式碼放到工程裡面,然後使用go tidy來自動規則套件依賴。

一些常識

  • 1、套件名稱就是倉庫位址

例如: github.com/gin-gonic/gin

報名大都是代碼所在倉庫位址,大都是可以直接存取的。

  • 2、套件裡面的套件

依賴套件有一個非常好玩的地方,有時使用的套件是套件裡面的套件。

可能有點繞,但很好理解。

例如文章開頭的:golang.org/x/crypto/ssh這個包,

他就是golang.org/x/crypto下面的包。

所以直接安裝ssh包,往往會出現找不到套件的情況,所以你就需要往上一層安裝。

以上是Go語言中有依賴的套件嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
學習如何在 Go 語言中計算方差 學習如何在 Go 語言中計算方差 Feb 23, 2024 pm 09:30 PM

學習如何在Golang中求解方差在統計學中,方差(Variance)是衡量一組資料分散程度的重要指標,它用來衡量資料集合中各個資料點與平均值之間的差距。在Golang中,我們可以透過寫程式碼來求解一組資料的變異數。接下來將介紹如何在Golang中實現方差的計算,並提供具體的程式碼範例。一、變異數的定義變異數的計算公式如下所示:[Var(X)=rac{

如何在 Go 語言中使用第三方套件? 如何在 Go 語言中使用第三方套件? Jun 01, 2024 am 11:39 AM

在Go中使用第三方套件:使用goget指令安裝套件,如:gogetgithub.com/user/package。導入包,如:import("github.com/user/package")。範例:使用encoding/json套件解析JSON資料:安裝:gogetencoding/json導入:import("encoding/json")解析:json.Unmarshal([]byte(jsonString),&data)

Go 語言:強大且靈活的腳本語言 Go 語言:強大且靈活的腳本語言 Apr 08, 2024 am 09:57 AM

Go語言是一種現代開源程式語言,以其並發支援、記憶體安全和跨平台相容性而聞名。它也是一種出色的腳本語言,提供了豐富的內建函數和實用工具,包括:並發支援:簡化同時執行多個任務的腳本編寫。記憶體安全:垃圾回收器自動釋放未使用的內存,防止記憶體洩漏。跨平台相容性:可在Windows、Linux、macOS和行動平台上編譯。豐富的標準函式庫:提供檔案I/O、網路請求和正規表示式等常見腳本功能。

如何使用 Go 語言定義和使用自訂類型? 如何使用 Go 語言定義和使用自訂類型? Jun 05, 2024 pm 12:41 PM

在Go中,自訂類型可使用type關鍵字定義(struct),包含命名欄位。它們可以透過欄位存取運算子訪問,並可附加方法來操作實例狀態。在實際應用中,自訂類型用於組織複雜資料和簡化操作。例如,學生管理系統使用自訂類型Student儲存學生訊息,並提供計算平均成績和出席率的方法。

Go 語言生態系:頂尖庫一覽 Go 語言生態系:頂尖庫一覽 Apr 08, 2024 pm 06:51 PM

Go語言生態系統提供了豐富且強大的函式庫,其中包括:Gin(用於建立web應用程式的框架)Gorm(用於管理資料庫互動的ORM)Zap(用於高效能日誌記錄)Viper(用於管理應用程式配置)Prometheus(用於監控和警報)這些程式庫可幫助開發人員快速有效地建立健壯且可維護的Go應用程式。

Go 語言在 Android 系統中的應用 Go 語言在 Android 系統中的應用 Apr 08, 2024 am 11:36 AM

Go語言可在Android系統中廣泛應用,可用於建立AndroidActivity和Service,進行資料處理和分析,具體包括:在AndroidActivity中使用Go語言:引入Go語言庫,建立Go語言類,並在AndroidManifest.xml檔案中註冊Go語言類別。在AndroidService中使用Go語言:建立Go語言類,並在AndroidManifest.xml檔案中註冊Go語言類別。使用Go語言進行資料處理和分析:可用於建立HTTPAPI、並發處理任務、編解碼二進位資料。

Golang編譯錯誤解決方法:如何解決unexpected end of input錯誤 Golang編譯錯誤解決方法:如何解決unexpected end of input錯誤 Nov 25, 2023 am 11:03 AM

Golang是一種高效、現代化的程式語言,已經在許多企業和組織中廣泛應用。但是,當你使用Golang編寫程式碼時,會遇到各種錯誤。其中一種常見的錯誤是”unexpectedendofinput」。在這篇文章中,我們將討論這種錯誤的常見原因以及如何解決它。首先,了解這個錯誤的產生原因是非常重要的。在Golang編譯器中,這種錯誤通常是由於程式碼的語法錯誤導致

如何在 Go 語言中測試套件? 如何在 Go 語言中測試套件? Jun 01, 2024 am 11:50 AM

透過使用Go語言的內建測試框架,開發者可以輕鬆地為他們的程式碼編寫和運行測試。測試檔以_test.go結尾,並包含Test開頭的測試函數,其中*testing.T參數表示測試實例。錯誤訊息使用t.Error()記錄。可以透過執行gotest指令來運行測試。子測試允許將測試函數分解成更小的部分,並透過t.Run()創建。實戰案例包括針對utils包中IsStringPalindrome()函數編寫的測試文件,該文件使用一系列輸入字串和預期輸出來測試函數的正確性。