精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Go 1.18 新增三大功能之一“工作區模式”介紹

開發 前端
本文我們先敘述使用 Go Modules 模式面臨的一些問題,然后介紹 Go v1.18 新增的 Workspaces 模式的使用方式,最后通過示例介紹使用 Workspaces 模式可以解決使用 Go Modules 模式中的問題。

?1.介紹

Go 官方在 Go v1.11 新增 Go Modules 模式,并一直持續到 Go v1.16,每個版本的 Go Modules 模式都會有一些變化。但是,我們的項目使用 Go Modules 模式時,仍然會遇到一些問題。

直到 Go v1.18 版本新增 Workspaces 模式,解決了 Go Modules 模式的這些問題,本文我們介紹 Workspaces 模式的使用方式。

2.引言

當在項目中需要導入一些私有 Git 倉庫或未發布到 Git 倉庫的依賴項時,或需要修改三方依賴模塊的代碼時,一般解決方法是將代碼下載到本地,在 go.mod? 文件中使用 Go Modules 模式中的 replace 指令替換為本地目錄路徑。

因為 go.mod? 文件也是和項目一起提交到 Git 倉庫,每個開發人員的本地目錄路徑可能不一樣,所以,就需要把在遠程倉庫拉取到的 go.mod? 文件中 replace 的目錄路徑手動替換為自己的本地目錄路徑之后,才可以正常使用。

3.使用方式

在介紹 Workspaces 模式的使用方式之前,我們需要先使用 Go Modules 模式創建一個 Go 項目,并且我們的 Go 項目依賴模塊 golang.org/x/example。

創建 Go 項目

# 進入 Home 目錄
cd ~
# 創建工作區目錄
mkdir workspace
# 進入工作區目錄
cd workspace
# 創建 Go 項目所在的目錄
mkdir hello
# 進入 Go 項目所在的目錄
cd hello
# 初始化
go mod init github.com/weirubo/hello
# 添加依賴項
go get golang.org/x/example
# 創建 main.go 文件
touch main.go

示例代碼:

package main

import (
"fmt"
"golang.org/x/example/stringutil"
)

func main() {
str := "hello"
reverseStr := stringutil.Reverse(str)
fmt.Println(reverseStr)
}

輸出結果:

go run main.go
olleh

閱讀上面這段內容,是我們已經非常熟悉的使用 Go Modules 模式創建 Go 項目的操作步驟,接下來,我們介紹 Workspaces 模式的使用方式。

創建工作區

# 進入 Home 目錄下的 workspace 目錄
cd ~/workspace
# 初始化工作區
go work init ./hello

執行完以上命令,我們可以發現在 workspace 目錄下創建了一個 go.work? 文件,查看該文件,我們可以發現包含兩個指令,分別是 go? 和 use。

go 1.19

use ./hello

其中 go? 指令,是指定使用 Go 的哪個版本編譯項目,類似 go.mod? 文件中的 go 指令。

其中 use? 指令,是指在構建項目時,hello 目錄中的模塊是主模塊。

在創建工作區后,我們進入工作區目錄,運行 main.go 文件。

cd ~/workspace
go run hello/main.go

輸出結果:

olleh

但是,如果我們進入 Home? 目錄(工作區外),運行 main.go 文件。

cd ~
go run workspace/hello/main.go

輸出結果:

workspace/hello/main.go:5:2: no required module provides package golang.org/x/example/stringutil: go.mod file not found in current directory or any parent directory; see 'go help modules'

我們可以在輸出結果中發現,Go 找不到項目使用的依賴模塊,原因是我們在工作區外運行 Go 項目,Go 找不到需要的模塊。

4.使用場景

我們在學會使用 Workspaces 模式后,使用該模式解決 Part 02 提到的問題。

假如我們想要在 Go 項目的依賴模塊 golang.org/x/example? 新增一個函數 ToUpper。

在 Go 未提供 Workspaces 模式時,我們需要下載依賴項到本地,然后修改下載到本地的依賴項文件。

cd ~/workspace/hello
git clone https://go.googlesource.com/example
# 編輯 go.mod
go mod edit -replace golang.org/x/example@v0.0.0-20220412213650-2e68773dfca0=/Users/frank/workspace/hello/example

此時,我們就可以修改我們下載到本地的依賴項文件 /Users/frank/workspace/hello/example/stringutil/reverse.go?,新增函數 ToUpper。

func ToUpper(s string) string {
r := []rune(s)
for i := range r {
r[i] = unicode.ToUpper(r[i])
}
return string(r)
}

然后,我們可以在 main.go 文件中使用該函數。

...
toUpperStr := stringutil.ToUpper(str)
fmt.Println(toUpperStr)
...

輸出結果:

cd ~/workspace/hello
go run main.go
HELLO

使用 Go Modules 模式的 replace 指令,雖然可以實現我們的需求,但是,當該項目代碼在其他人電腦上運行時,必須先手動修改為自己的目錄路徑,才可以正常運行。

使用 Workspaces 模式

我們使用 Go 1.18 提供的 Workspaces 模式,實現我們的需求。

將下載到本地的依賴模塊 example 添加到工作區:

cd ~/workspace
go work use ./hello/example

我們使用 go work use? 命令將 example? 模塊添加到工作區,我們就可以使用我們下載到本地的依賴模塊 example? 的代碼,而不再使用 GOMODCACHE? 中的 example 模塊的代碼。

我們項目組成員只需維護自己本地的工作區,不必再手動修改 go.mod? 文件中 replace 指令中的本地目錄路徑。

5.總結

本文我們先敘述使用 Go Modules 模式面臨的一些問題,然后介紹 Go v1.18 新增的 Workspaces 模式的使用方式,最后通過示例介紹使用 Workspaces 模式可以解決使用 Go Modules 模式中的問題。

需要注意的是,go.work? 文件不要推送到遠程倉庫,我們可以將其添加到 .gitignore 文件中。

我們在文中使用到的命令是 go work init? 和 go work use?,此外,還有其他命令,感興趣的讀者朋友們可以執行命令 go help work 了解更多。

責任編輯:武曉燕 來源: Golang語言開發棧
相關推薦

2022-12-14 23:05:29

Go模糊測試

2022-01-19 08:51:00

Module工作區Go

2022-07-12 06:17:43

GoogleGolang開發工作

2023-09-26 01:21:34

2013-07-25 09:05:11

谷歌Android4.3

2019-04-29 13:35:32

iOS 13蘋果iPad

2022-01-10 11:33:17

Go測試軟件

2010-12-16 20:54:07

Windows Azu

2009-09-10 16:01:26

介紹LINQ

2022-01-26 09:02:57

GoCut方法

2012-07-27 14:45:12

傲游瀏覽器傲游瀏覽器

2012-08-10 10:59:18

IP-guard信息泄露信息防泄露

2010-03-04 13:36:55

openSUSE

2009-11-05 10:29:14

Visual Stud

2021-09-27 22:29:39

iOS微信系統

2025-09-04 09:13:22

2022-09-08 17:16:10

iOS蘋果功能

2016-06-13 13:53:24

iosgif蘋果

2012-10-16 09:25:33

Windows 8

2011-05-24 15:12:15

Android
點贊
收藏

51CTO技術棧公眾號

久久99精品一区二区三区三区| 久久日韩视频| 亚洲电影在线| 亚洲区在线播放| 最近免费中文字幕中文高清百度| 黄色av网址在线免费观看| 麻豆国产精品一区二区三区 | 欧美国产高潮xxxx1819| 亚洲电影免费观看高清完整版在线观看| 18禁免费无码无遮挡不卡网站| 成年人在线看| 99re这里都是精品| 国产精品极品美女粉嫩高清在线| 国产日韩欧美在线观看视频| 要久久爱电视剧全集完整观看| 欧美福利视频导航| 男人操女人免费软件| 在线观看a级片| 欧美国产在线观看| 精品无码久久久久国产| 国产男女猛烈无遮挡| 亚洲欧美日韩在线观看a三区| 不用播放器成人网| 韩国三级hd中文字幕| 成人h动漫精品一区二区器材| 欧美亚日韩国产aⅴ精品中极品| 国产精品69久久久| 国产高清一区二区三区视频| 国产天堂亚洲国产碰碰| 国产一区二区不卡视频| 精品人妻一区二区三区三区四区| 免费久久99精品国产| 欧美一区二区影院| 国产精品成人久久| 欧美精品99| 久久人人爽人人爽爽久久| 午夜精产品一区二区在线观看的| 青青久久av| 亚洲白拍色综合图区| 深夜做爰性大片蜜桃| 日韩第二十一页| 91精品办公室少妇高潮对白| 无码精品a∨在线观看中文| 好吊日av在线| 亚洲自拍偷拍欧美| 精品少妇人妻一区二区黑料社区| www.av成人| 国产精品亚洲人成在99www| 日韩精品一区二区三区在线播放| 亚洲午夜性刺激影院| av免费一区二区| 欧美va在线观看| 日批视频免费播放| 亚洲女人av| 青青草原成人在线视频| 欧美三级韩国三级日本三斤在线观看 | 91久久精品午夜一区二区| 久久精品免费一区二区| 吉吉日韩欧美| 色香蕉成人二区免费| 黄色片久久久久| 欧美香蕉视频| 在线观看日韩高清av| 男人插女人下面免费视频| 日本在线精品| 欧美日韩国产综合一区二区| www.com污| 日韩视频在线直播| 精品国产在天天线2019| 国产伦精品一区二区免费| aaa国产精品| 日韩h在线观看| 免费看黄色av| 亚洲91中文字幕无线码三区| 不卡av电影院| 永久免费看片在线播放| 久久av最新网址| 麻豆视频一区二区| 91sa在线看| 无码人妻精品一区二区三区蜜桃91| 天堂成人免费av电影一区| 国产精品自拍网| 中文字幕第17页| 国产视频一区二区三| 国产一区二区三区四区五区美女| 色综合网站在线| 800av在线免费观看| av日韩中文| 色婷婷综合激情| 91pony九色| 久久精品论坛| 日韩最新av在线| 国产精彩视频在线| 男人的天堂亚洲一区| 97超级碰碰| 免费一级毛片在线观看| 日韩理论片在线| 成年人视频观看| 91国产精品| 精品视频在线观看日韩| 国产精品嫩草影院俄罗斯| 亚洲精品韩国| 91免费福利视频| 亚洲狼人综合干| 国产精品高清乱码在线观看| 在线播放91灌醉迷j高跟美女 | 欧美淫片网站| 欧美性受xxx| 99久久夜色精品国产亚洲| 99亚偷拍自图区亚洲| 一区二区三区视频在线播放| av最新在线| 欧美一区二区精品在线| www.狠狠爱| 亚洲免费大片| 91在线在线观看| 黄色网址在线免费| 在线观看成人免费视频| 2一3sex性hd| 亚洲精品极品少妇16p| 日韩**中文字幕毛片| 黄色三级网站在线观看| 中文字幕中文字幕一区二区| 青青在线视频观看| 欧美爱爱网站| 欧美极品少妇xxxxⅹ裸体艺术 | 亚洲成人在线网| 国产精品精品软件男同| 免费人成在线不卡| 欧洲亚洲一区二区三区四区五区| а_天堂中文在线| 日韩午夜av一区| 自拍偷拍第9页| 日本伊人午夜精品| 欧美日韩精品久久| xxxxx性欧美特大| 亚洲国产精品推荐| 久久精品亚洲无码| 国产suv精品一区二区三区| 中文字幕超清在线免费观看| 黑人一区二区三区| 色狠狠av一区二区三区香蕉蜜桃| 欧美人一级淫片a免费播放| 2024国产精品视频| 日日橹狠狠爱欧美超碰| 欧美在线导航| 8x拔播拔播x8国产精品| 天堂网在线播放| 亚洲大片精品永久免费| 日本五十肥熟交尾| aa国产精品| 久久99精品久久久久久青青日本 | 91久久精品一区二区三| 亚洲av无码国产精品麻豆天美| 另类av一区二区| 欧美在线播放一区| 精品国产欧美日韩一区二区三区| 亚洲人成网站免费播放| 糖心vlog精品一区二区| 中文字幕欧美三区| 天天操天天干天天做| 91精品国产乱码久久久久久| 91亚洲精品视频| 久久香蕉av| 日韩国产激情在线| 免费又黄又爽又猛大片午夜| 国产欧美日韩不卡| 亚洲一区精品视频在线观看| 亚洲色图网站| 国产传媒一区| 亚洲精品mv| 国产亚洲精品综合一区91| 一起草av在线| 一区二区三区波多野结衣在线观看| 国产人成视频在线观看| 国产精品婷婷| 亚洲午夜在线观看| 9999久久久久| 日本欧美国产在线| 91小视频xxxx网站在线| 日韩精品小视频| 依依成人在线视频| 亚洲国产综合91精品麻豆 | 国产嫩草影院久久久久| www,av在线| 日韩精品电影一区二区三区| 日本sm残虐另类| 黑人巨茎大战欧美白妇| 丝袜美腿一区二区三区动态图| 国产精品成人国产乱一区| av网站免费在线观看| 日韩成人在线电影网| 中文字幕日产av| 亚洲国产va精品久久久不卡综合| 精品人伦一区二区| 国产精品一区二区男女羞羞无遮挡 | 成人在线精品视频| 国产美女精品写真福利视频| 中文字幕视频在线免费欧美日韩综合在线看 | 精品一区中文字幕| 免费观看美女裸体网站| 色婷婷热久久| 免费观看成人高| 亚洲精品国产九九九| 日韩av手机在线看| 久久久久黄久久免费漫画| 伊是香蕉大人久久| 神马午夜精品95| 91精选在线观看| 伊人久久久久久久久久久久| 亚洲国产视频直播| 日韩av手机在线免费观看| 久久蜜桃av一区二区天堂| 手机在线观看日韩av| 日韩av网站免费在线| 日韩av在线播放不卡| 五月激情综合| 亚洲不卡一卡2卡三卡4卡5卡精品| 欧美午夜在线播放| 国产精品久久色| 一二三四视频在线中文| 国模精品视频一区二区| av免费网站在线观看| 在线午夜精品自拍| 国产偷国产偷亚洲高清97cao| 日本久久久久| 国产极品精品在线观看| 日韩伦理在线| 久久全国免费视频| 三级资源在线| 久久这里只有精品99| 2021av在线| 一本大道久久加勒比香蕉| 你懂的在线播放| 日韩精品高清视频| 天天操天天干天天操| 亚洲精品在线电影| 成人久久久精品国产乱码一区二区| 欧美日本免费一区二区三区| 中文字幕av无码一区二区三区| 91玉足脚交白嫩脚丫在线播放| 亚洲免费成人av| 久久人人爽人人爽人人片| 高清在线不卡av| 韩国三级hd中文字幕有哪些| 国产中文字幕精品| 久久婷婷中文字幕| 狠狠色丁香久久婷婷综合_中| 亚洲娇小娇小娇小| 久久99深爱久久99精品| 第一区免费在线观看| 久久99热这里只有精品| 北条麻妃亚洲一区| 国产精品一区二区久激情瑜伽 | 日本中文字幕一区| 男女男精品视频站| 久久91精品久久久久久秒播| 超碰成人在线播放| 国产精品香蕉一区二区三区| 一区二区三区人妻| 成人黄色777网| 国产呦小j女精品视频| 国产亚洲自拍一区| 一本色道久久88| 亚洲美女视频在线| 欧美精品videos极品| 亚洲国产视频一区二区| 欧美一二三区视频| 色av一区二区| 91国产精品一区| 日韩欧美视频在线| 手机看片福利在线| 亚洲网站在线看| 国产秀色在线www免费观看| 精品自拍视频在线观看| 国产社区精品视频| 国产精品久久99久久| 国产精品一区二区三区av| 超碰97在线资源| 亚洲精品白浆高清| 一区二区日本伦理| 国内成人在线| 日韩福利视频在线| 国产一区二区三区综合| 黄色av网址在线观看| 国产日韩成人精品| 中文字幕在线观看成人| 日韩欧美一区二区在线| 91资源在线视频| 亚洲第一av网站| 99se视频在线观看| 欧美极品欧美精品欧美视频| 欧美精品资源| 国产亚洲二区| 97在线精品| 欧美三级一级片| 国产精品一区二区免费不卡| 国产又粗又猛又爽视频| 一区二区三区91| 日韩久久久久久久久久| 精品久久人人做人人爽| 1024视频在线| 成人一级毛片| 538国产精品一区二区在线| 国产成人久久精品麻豆二区| 成人18视频| 色无极亚洲影院| 国产淫片免费看| 国产盗摄精品一区二区三区在线| 欧美 日韩 国产 成人 在线观看| 亚洲综合激情小说| 亚洲一卡二卡在线| 国产偷国产偷亚洲清高网站| 日本天码aⅴ片在线电影网站| 国产精品www网站| 国产美女撒尿一区二区| 欧美一区二区视频观看视频 | 波多野结衣家庭教师| 欧美尿孔扩张虐视频| 亚洲人成影视在线观看| 翔田千里一区二区| 无码人妻精品一区二区三| 亚洲视频在线观看一区| 中文字幕av第一页| 精品无人区太爽高潮在线播放| a免费在线观看| 国产欧美中文字幕| 色综合色综合| av无码精品一区二区三区| 99久久免费国产| 久草成人在线视频| 日韩欧美国产高清| 中文在线免费| 亚洲a区在线视频| 91精品啪在线观看国产18| 日本黄大片一区二区三区| 欧美激情一区二区三区四区| 一级片在线观看免费| 亚洲免费电影一区| 欧美男男激情videos| 久久99精品久久久久子伦 | 男人揉女人奶房视频60分| 成人动漫一区二区在线| 久久综合色综合| 精品欧美乱码久久久久久 | 欧美日韩国产专区| 欧美一区二区黄片| 午夜精品三级视频福利| 麻豆精品av| 干日本少妇首页| 久久精品欧美一区二区三区不卡 | 中文字幕亚洲无线码a| 日本中文字幕一区二区| 视频一区二区综合| 麻豆一区二区99久久久久| 天天色影综合网| 日韩欧美国产wwwww| aa级大片免费在线观看| 精品欧美一区二区三区久久久| 久久国产精品99国产| 日韩影视一区二区三区| 欧美疯狂性受xxxxx喷水图片| www红色一片_亚洲成a人片在线观看_| 95av在线视频| 亚洲国产清纯| 在哪里可以看毛片| 欧美日韩的一区二区| 影音先锋在线视频| 精品一区二区三区自拍图片区 | 成年在线观看免费人视频| 国产欧美va欧美va香蕉在线| 在线精品国产| 黄色工厂在线观看| 欧美性xxxxxx少妇| 99自拍视频在线观看| 国产亚洲第一区| 美女视频黄 久久| 久久久久久久黄色| 亚洲欧美日韩精品| www999久久| av免费观看网| 亚洲欧美在线高清| 成人久久精品人妻一区二区三区| 国产成人精品在线播放| 亚洲九九在线| 美女又爽又黄视频毛茸茸| 欧美群妇大交群的观看方式| 毛片在线网址| 亚洲国产一区二区三区在线| 国产成人精品亚洲777人妖| 亚洲精品成人在线视频| 美女精品视频一区| 少妇精品久久久一区二区三区| 久久精品一卡二卡| 福利一区视频在线观看| 国产一二区在线| 日韩一二三区不卡在线视频| 国产激情视频一区二区在线观看| 蜜臀精品一区二区三区| 久久91亚洲精品中文字幕|