女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何快速搭建一個現代化的Go開發環境?

冬至子 ? 來源:洋芋土豆 ? 作者:真沒什么深度 ? 2023-05-22 16:53 ? 次閱讀

基礎環境變量

GOROOT

Go 源代碼的安裝目錄,MacWindows 安裝時會自動配置好,Linux 一般在 /usr/local/go 目錄。

# 查看 $GOROOT 目錄
$ echo $GOROOT
/usr/local/bin

# 設置 $GOROOT 目錄
$ export GOROOT=/usr/local/bin

# 增加 go 相關命令到 PATH
$ export PATH=$PATH:/usr/local/go/bin

GOPATH

簡單來說,就是存放 Go 第三方庫的源代碼以及構建后可執行程序的目錄,建議設置為獨立的目錄并且不要存放其他文件。

# 查看 $GOPATH 目錄
$ echo $GOPATH
/home/codes/go

# 設置 $GOPATH 目錄
$ export GOPATH=/home/codes/go

GOPROXY

安裝包的下載代理地址,直接使用 七牛云 提供的代理地址 ,速度非常快!

# 查看 $GOPROXY 代理地址 
$ echo $GOPROXY
https://goproxy.cn

# 設置 $GOPROXY 目錄
$ export GOPROXY=https://goproxy.cn

GO111MODULE

是否開啟了 gomod, 必須開啟才可以使用 Go Module

# 查看 $GO111MODULE 模塊開啟情況 
$ echo $GO111MODULE
on

# 設置 $GOPROXY 目錄
$ export GO111MODULE="on"

建議將剛才的配置寫入 ~/.bashrc 或者 ~/.zshrc 文件,永久有效。 到這里,我們第一步設置基礎環境變量的工作就完成了,可以驗證一下設置是否成功:

$ go env | grep -i -E "root|path|goproxy|module"
GO111MODULE="on"
GOPATH="/home/codes/go"
GOPROXY="https://goproxy.cn"
GOROOT="/usr/local/go"

通過輸出結果可以看到,剛才的配置已經全部完成。

Go 命令方法

env 命令除了查看環境變量外,同樣可以設置環境變量。

# 通過 go env 命令設置代理環境變量
$ go env -w GOPROXY=https://goproxy.cn,direct

Modules

Go 從 1.12 版本開始,默認支持 Go Modules, 從此徹底告別配置 GOPATH 以及包下載及依賴導致的各種奇葩問題。

初始化一個包

這里假設項目名稱為 HelloWorld

  • ? 新建項目的目錄,比如 /home/codes/projects/HelloWorld
  • ? 切換到 /home/codes/projects/HelloWorld 目錄
  • ? 執行命令 go mod init helloworld
# 輸出如下
go: creating new go.mod: module helloworld
go: to add module requirements and sums:
go mod tidy
  • ? 這時可以看到目錄下多了一個 go.mod 文件,其中內容如下
$ cat go.mod
module helloworld

go 1.19  # 版本號可能和你的不一樣

安裝依賴

Go 的包名定義非常簡單,就是一個普通的 URL (以域名打頭),可以是主流的代碼倉庫地址,也可以是自己搭建的代碼倉庫。下面的例子統一以 Github 演示。

# 語法規則: 其中版本號可以是 git 分支或 tag
go get 包名@版本號
# 例: go get github.com/spf13/cast@v1.4.1

安裝 spf13/cast 包

spf13/cast 是一個數據類型轉換包,可以非常簡單地對常見數據類型互相轉換,并且不會引發 panic

  • ? 執行命令:
$ go get github.com/spf13/cast@v1.4.1
# 輸出如下
go: added github.com/spf13/cast v1.4.1
  • ? 打開 go.mod 文件,內容如下:
module helloworld

go 1.19

require github.com/spf13/cast v1.4.1 // indirect
  • ? 在 go.mod 旁邊多了一個 go.sum 文件,內容如下:
github.com/davecgh/go-spew 
...
... 
github.com/stretchr/testify
  • ? 使用安裝好的包

將如下代碼寫入文件 main.go

package main

import (
    "fmt"

    "github.com/spf13/cast"
)

func main() {
    s := cast.ToString(1024)
    fmt.Printf("s is a %T, val = %s\\n", s, s)
}
$ go run main.go
// 輸出如下
/**
  s is a string, val = 1024
*/

查看依賴

# 列表輸出
$ go list -m -m all
# # json 輸出
$ go list -m -json all 

# 輸出當前項目的 Module 名稱以及依賴報名
helloworld
...
...
github.com/spf13/cast v1.4.1
... 
...

升級依賴

# 語法規則: 
# 升級次級或補丁版本號
go get -u 包名@版本號
# 僅升級補丁版本號
go get -u=patch 包名@版本號

這里,我們將 spf13/cast 包從 v1.4.1 升級到 1.5.0,執行如下命令:

go get -u github.com/spf13/cast@v1.5.0
# 輸出如下
go: upgraded github.com/spf13/cast v1.4.1 => v1.5.0

查看 go.mod 文件,內容已經更新為:

module helloworld

go 1.19

require github.com/spf13/cast v1.5.0 // indirect

刪除依賴

當前項目中有些包已經不再使用了,但是 go.mod 文件中依然定義了依賴關系,可以使用下面的命令自動整理優化 go.mod 文件。

$ go mod tidy

常用命令

go mod init  # 初始化
go mod tidy  # 更新 (移除) 依賴文件
go mod download  # 下載依賴文件

go mod vendor  # 將依賴全部歸檔到 vendor 目錄
go mod edit    # 修改依賴文件
go mod graph   # 打印依賴關系 圖
go mod verify  # 校驗依賴

到這里,Go Modules 的基礎配置及使用已經完成,我們可以快速導入成熟的第三方庫來加速開發。

編輯器

工欲善其事,必先利其器。 現代化項目開發,一個高效的 IDE 必不可少。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux系統
    +關注

    關注

    4

    文章

    603

    瀏覽量

    28301
  • URL
    URL
    +關注

    關注

    0

    文章

    139

    瀏覽量

    15779
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9285
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何快速搭建MQTT協議的測試環境

    大家好,我是麥叔,之前有小伙伴建議出期如何快速搭建MQTT協議的測試環境,因為自己寫的mq
    的頭像 發表于 12-26 09:28 ?2643次閱讀
    如何<b class='flag-5'>快速</b><b class='flag-5'>搭建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>MQTT協議的測試<b class='flag-5'>環境</b>

    基于RFID的現代化奶牛場管理應用

    0 引言 信息與自動現代管理技術在畜牧業發展中的地位越來越重要,基于無線射頻原理的奶牛自動識別系統,是現代化奶牛場管理 中不可或缺的部分。無線射頻識別技術(RFID)是
    發表于 07-17 08:31

    怎么強化現代化IC的設計環境

    數字設計及驗證技術演進的概觀現代化IC設計環境必須強化的方法
    發表于 04-09 06:17

    現代化網絡的完全響應式設計方案

    現代化的網絡可以完全響應,并且每天都有更多的設計師意識到這點。 但是,在響應式設計方面存在艱巨的挑戰: 嵌入式內容 。從YouTube到Vimeo的每個視頻網站都具有固定為特定大
    發表于 12-23 08:04

    Go語言及Beego框架環境搭建相關資料推薦

    1、Go語言及Beego框架環境搭建  在開始環境搭建之前,我們先起來看看:  
    發表于 10-17 16:57

    淺談現代化設備維修與可持續發展

    針對現代化設備維修存在的嚴重資源與環境問題,簡要闡述設備維修與可持續發展的關系。
    發表于 12-24 11:52 ?30次下載

    php開發環境搭建和使用

    本文主要介紹的是php開發環境搭建和使用。apache在默認情況下不會處理php頁面,Apache處理php頁面的步驟:即:php開發環境
    的頭像 發表于 02-01 15:26 ?3632次閱讀
    php<b class='flag-5'>開發</b><b class='flag-5'>環境</b>的<b class='flag-5'>搭建</b>和使用

    代碼現代化是什么,如何使用它來優化代碼

    Robert Geva談論代碼現代化是什么以及開發人員如何使用它來優化代碼。
    的頭像 發表于 11-12 06:00 ?2793次閱讀

    如何搭建鴻蒙開發環境

    開發一個平臺的程序,那么首先要搭建出本地開發環境,那么如何搭建鴻蒙
    的頭像 發表于 02-24 11:25 ?4077次閱讀
    如何<b class='flag-5'>搭建</b>鴻蒙<b class='flag-5'>開發</b><b class='flag-5'>環境</b>

    網絡基礎設施現代化必需的五步驟

    基礎設施現代化這個術語,對不同的人意味著不同的東西。畢竟,沒有任何兩企業網絡基礎架構的設計和構建是基于相同的業務目標。然而,與很久以前的網絡相比,新構建的基礎設施之間的共同點會更多。因此,基礎設施現代化的過程可能在很多方面都很
    發表于 06-14 16:56 ?1788次閱讀

    如何快速搭建輕應用或行業應用

    隨著高速發展的數字化時代,越來越多的企業應用,對技術要求越來越高,軟件實現越來越復雜,需要更快、更高效的開發。 如何快速搭建輕應用或行業
    的頭像 發表于 08-24 09:56 ?2687次閱讀

    如何搭建套 Linux 開發環境

    對于剛接觸嵌入式 Linux 系統開發的同學來說,搭建開發環境不小的挑戰,我看到過很多在入
    的頭像 發表于 08-25 08:54 ?2653次閱讀

    HPM6750開發環境搭建快速上手

    鑒于不少小伙伴已經拿到了HPM6750的開發套件,本文將基于HPM6750 EVKMINI開發板,從開發環境搭建開始,帶你
    的頭像 發表于 12-20 11:52 ?4436次閱讀

    喜報丨軟通動力應用現代化平臺工程產品及服務解決方案榮獲“2023年應用現代化典型案例”稱號

    在數字經濟時代,應用現代化正在成為共識。 近日,中國軟件行業協會首屆“應用現代化產業實踐優秀案例”評選結果揭曉, 軟通動力應用現代化研究
    的頭像 發表于 11-13 19:30 ?1052次閱讀
    喜報丨軟通動力應用<b class='flag-5'>現代化</b>平臺工程產品及服務解決方案榮獲“2023年應用<b class='flag-5'>現代化</b>典型案例”稱號

    軟通動力應用現代化平臺工程產品及服務解決方案榮獲“2023年應用現代化典型案例”稱號

    北京2023年11月14日?/美通社/ -- 在數字經濟時代,應用現代化正在成為共識。 近日,中國軟件行業協會首屆“應用現代化產業實踐優秀案例”評選結果揭曉,軟通動力應用
    的頭像 發表于 11-14 16:50 ?813次閱讀
    軟通動力應用<b class='flag-5'>現代化</b>平臺工程產品及服務解決方案榮獲“2023年應用<b class='flag-5'>現代化</b>典型案例”稱號