精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

色综合影院在线| 中文字幕一区二| 国产成人精品免费视频| 亚洲第一视频区| 日日夜夜综合| 亚洲图片一区二区| 日本成人三级电影网站| 国产男男gay体育生白袜| 日韩视频三区| 久久精品99久久香蕉国产色戒| 国产高潮视频在线观看| 福利精品在线| 国产精品美女久久久久aⅴ | 国产日韩在线观看一区| 亚洲一区欧美激情| 欧美成人精品影院| 国产123在线| 97久久综合精品久久久综合| 在线欧美小视频| www插插插无码视频网站| 色大18成网站www在线观看| 成人激情视频网站| 91久久精品国产91性色| 亚洲第一网站在线观看| 亚洲特色特黄| 欧美成人精品在线播放| 波多野结衣家庭教师在线观看| 999精品视频在这里| 欧洲视频一区二区| 免费国产黄色网址| 日本天堂在线观看| 久久视频一区二区| 成人做爰www免费看视频网站| 精品欧美乱码久久久久久| 看一级黄色录像| 男人的天堂av高清在线| 国产超碰在线一区| 国产精品视频中文字幕91| 国产亚洲第一页| 国产精品精品| 国产小视频国产精品| 动漫美女无遮挡免费| 成人深夜福利| 亚洲aⅴ怡春院| 老司机av福利| 触手亚洲一区二区三区| 成人晚上爱看视频| 91精品国产91久久久久青草| 中文在线观看av| 亚洲影院免费| 97久久超碰福利国产精品…| 男女做暖暖视频| 欧美激情偷拍自拍| 在线播放亚洲激情| 亚洲一区二区自偷自拍 | 在线综合欧美| 国内揄拍国内精品| 麻豆天美蜜桃91| 久久一区二区三区电影| 在线视频一区二区| 精品人伦一区二区三电影| 色天天色综合| 日韩成人网免费视频| 18禁一区二区三区| 亚洲精品一区二区三区中文字幕 | 日本wwww视频| 自拍一区在线观看| 天天免费综合色| 妞干网视频在线观看| 亚洲欧美成人影院| 亚洲精品成a人| 中文字幕精品在线播放| 成人在线影视| 一区二区三区四区在线播放| 日本xxxxx18| 国产综合色香蕉精品| 久久久精品人妻一区二区三区四 | 日本熟妇毛茸茸丰满| 一区二区三区在线| 久久99国产精品久久久久久久久| 紧身裙女教师波多野结衣| 亚洲啊v在线观看| 久久福利视频网| 亚洲成人生活片| 亚洲视频免费| 97av视频在线| 一级黄色在线视频| 美女诱惑一区二区| 国产日韩在线看| 国产夫妻性生活视频| 国产精品一二一区| 成人高清视频观看www| 国产熟女一区二区丰满| 岛国精品在线播放| 欧美日韩国产精品一区二区| 国产在线观看网站| 中文字幕亚洲在| 欧美 亚洲 视频| 2021中文字幕在线| 色婷婷综合久久久久中文| 青青青在线视频免费观看| 国产一区高清| 日韩午夜精品电影| 久久久久亚洲AV成人无码国产| 色综合综合网| 麻豆乱码国产一区二区三区| 国产在线观看免费av| 久久精品国语| 91久久精品日日躁夜夜躁国产| 亚洲欧美黄色片| 久久久久久免费网| 一级全黄肉体裸体全过程| 青青草原av在线| 欧美性高跟鞋xxxxhd| 日韩欧美国产片| 超碰成人在线观看| 在线a欧美视频| 不卡的免费av| 久久成人av少妇免费| 成人3d动漫一区二区三区91| 欧美日韩一区二区区| 中文字幕日产av| 国产一区亚洲一区| 日本不卡二区| 国产丝袜精品丝袜| 欧美色手机在线观看| 午夜天堂在线视频| 国产一区国产二区国产三区| 欧美高清视频免费观看| 国产天堂第一区| 99国产精品久久久久久久久久| 欧美一区1区三区3区公司| 久草免费在线观看| 欧美色欧美亚洲高清在线视频| 污视频网站观看| 久9久9色综合| 97在线观看免费高清| 国产毛片毛片毛片毛片毛片| 久久久久国产精品厨房| 女人被男人躁得好爽免费视频| 日韩三区免费| 日韩精品999| 免费一级片视频| 免费在线成人网| 久久综合毛片| a天堂资源在线| 欧美va亚洲va国产综合| 亚洲av无一区二区三区| 久久久成人网| 精品日本一区二区三区在线观看 | 色悠悠国产精品| 波多野结衣黄色| 久久五月婷婷丁香社区| www.日本在线播放| 成人盗摄视频| 欧美第一黄网免费网站| 91丨porny丨在线中文| 久久亚洲精精品中文字幕早川悠里| h无码动漫在线观看| 日本一区二区三区电影免费观看| 综合久久五月天| 国产乡下妇女三片| 国产网站一区二区| 国产av无码专区亚洲精品| 日韩av影院| 69久久夜色精品国产69乱青草| 性欧美18一19性猛交| 亚洲女同ⅹxx女同tv| 天堂视频免费看| 999久久久91| 成人国产精品av| 欧美一级视频免费看| 欧美人与禽猛交乱配| 3d动漫精品啪啪1区2区免费| 天天干天天舔天天操| 狂野欧美性猛交xxxx巴西| 欧美综合77777色婷婷| 成人开心激情| 亚洲欧美综合图区| 无码人妻丰满熟妇区bbbbxxxx| 国产亚洲女人久久久久毛片| 成年人视频在线免费| 在线日韩网站| 国产99在线|中文| 国产一级在线观看| 欧美人妖巨大在线| 久久久久无码国产精品| 99精品视频在线免费观看| 国产主播在线看| 精品国产精品| 亚洲自拍偷拍一区| 爱搞国产精品| 亚洲欧美综合区自拍另类| 国产麻豆免费观看| 激情懂色av一区av二区av| 日韩乱码人妻无码中文字幕久久| 奇米在线7777在线精品| 男人天堂成人网| 老牛国内精品亚洲成av人片| 日韩av手机在线观看| 日韩伦理在线电影| 91精品国产色综合久久不卡电影| 国产成人无码精品亚洲| 2021久久国产精品不只是精品| 免费看a级黄色片| 欧美国产高清| 欧美福利精品| 国产午夜精品一区在线观看| 91精品国产91久久| 日日夜夜精品一区| 亚洲国产精品久久久久秋霞不卡| 欧美男人天堂网| 一区二区三区色| 欧美激情aaa| 国产精品影视网| 国产av天堂无码一区二区三区| 精品久久久久久久久久久下田| 亚洲综合小说区| 第四色男人最爱上成人网| 欧美激情一区二区三区高清视频| 国产精品久久一区二区三区不卡| 日韩一区国产二区欧美三区| 丰满少妇xoxoxo视频| 亚洲黄色小视频| 99久久99久久精品免费看小说.| 国产老女人精品毛片久久| 欧美 日韩 国产一区| 欧美日韩精品亚洲精品| 毛片av一区二区| 日韩精品 欧美| 欧美激情aⅴ一区二区三区| 久久久久久久久久久久久久久久av | 91麻豆免费观看| 无码人妻一区二区三区在线视频| 日韩精品亚洲专区| www.av毛片| 一区二区三区国产精华| 亚洲精品一区二区三区樱花 | 亚洲永久在线| 国产96在线 | 亚洲| 亚洲精品极品少妇16p| 日本一区二区不卡高清更新| 麻豆一区一区三区四区| 99久久99久久| 国产高清亚洲| 91精品久久久久久久久中文字幕| 性欧美gay| 91av在线看| 久久青草伊人| 久久久久中文字幕2018| 性欧美猛交videos| 久久精品国产成人| xxxxx日韩| 日韩在线视频一区| aⅴ在线视频男人的天堂| 亚洲欧美日韩在线高清直播| 无码精品人妻一区二区| 欧美本精品男人aⅴ天堂| 国产精品视频一二区| 欧美午夜精品理论片a级按摩| www.欧美色| 日韩欧美在线视频| 日本熟女毛茸茸| 色成年激情久久综合| 四虎成人在线观看| 在线免费一区三区| 国产一级片免费视频| 日本韩国一区二区三区视频| 日本中文字幕在线免费观看| 亚洲电影在线播放| 午夜精品三级久久久有码| 亚洲成a人v欧美综合天堂 | 一区二区三区四区av| 国产在线视频第一页| 午夜精品久久久久久久蜜桃app| 久久精品国产亚洲av香蕉| 亚洲福利一区二区三区| 91看片在线播放| 在线日韩一区二区| 91中文字幕在线播放| 日韩一区二区精品在线观看| 亚洲av无码乱码国产精品久久| 国产另类xxxxhd高清| 欧美影院久久久| jizzyou欧美16| 成人激情黄色网| 日本在线视频一区二区三区| 国产精品日韩一区二区免费视频| 秋霞影视一区二区三区| 日韩视频在线播放| 久久久久久美女精品| 一区二区日本伦理| 欧美粗暴jizz性欧美20| 国产h视频在线播放| 男男视频亚洲欧美| 亚洲最大视频网| 久久久蜜桃精品| 亚洲精品卡一卡二| 亚洲va欧美va天堂v国产综合| 四虎成人永久免费视频| 欧美日韩国产免费| 日本免费一区视频| 亚洲视频一区二区| 亚洲丝袜一区| 日韩美女视频免费在线观看| 91久久青草| 久久精品日产第一区二区三区乱码 | 免费看欧美美女黄的网站| 99精品视频免费版的特色功能| 成人毛片在线观看| 黄色国产在线播放| 亚洲电影在线免费观看| 中文字幕网址在线| 欧美一级欧美一级在线播放| 少妇精品视频一区二区| 在线电影中文日韩| 不卡av免费观看| 国产日韩av在线播放| 精品精品精品| 老司机av福利| 日韩中文字幕一区二区三区| 国产又粗又猛大又黄又爽| 国产欧美一区二区在线观看| 久久国产露脸精品国产| 欧美中文字幕亚洲一区二区va在线| www.97av| 日韩中文在线不卡| 天天综合av| 国产精品久久国产三级国电话系列 | 国产乱人乱偷精品视频a人人澡| 精品亚洲夜色av98在线观看| 影院在线观看全集免费观看| 国产精品h在线观看| 黄色欧美在线| 成人国产在线看| 视频在线观看91| 欧美黑人欧美精品刺激| 一区二区欧美在线观看| 97国产精品免费视频| 少妇一区视频| 国产一级特黄a大片99| 亚洲精品久久| 手机免费av片| 国产精品理伦片| 国产一级片av| 亚洲人成伊人成综合网久久久| 肉肉视频在线观看| 亚洲一区亚洲二区亚洲三区| 999久久久国产精品| 日日干夜夜操s8| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲天堂久久| 国偷自产av一区二区三区麻豆| 国产精品成人免费| 日韩久久久久久久久久| 亚洲欧美在线一区二区| 高清不卡av| 欧洲亚洲一区| 日韩精品亚洲一区| 免费看黄色av| 色菇凉天天综合网| 亚洲成人三级| 91色中文字幕| 欧美成人tv| 在线观看亚洲免费视频| 亚洲国产三级在线| 性网爆门事件集合av| 欧美激情在线播放| 国产91精品入| 日本黄色片一级片| 91免费观看视频在线| 国产又粗又爽视频| 亚洲欧美中文另类| 日韩精品免费观看视频| 婷婷精品国产一区二区三区日韩| 激情六月婷婷综合| 日韩 欧美 综合| 夜夜嗨av一区二区三区免费区 | 国产精品电影一区二区三区| 国产乱色精品成人免费视频| 久久久视频免费观看| 日韩电影不卡一区| 可以免费在线看黄的网站| 国产精品日韩精品欧美在线| 97在线公开视频| 欧美日韩成人网| 99久久免费精品国产72精品九九| 欧美精品色婷婷五月综合| 久久精品一区八戒影视| 亚洲视频中文字幕在线观看| 毛片精品免费在线观看| 狼人精品一区二区三区在线 | 欧美性欧美巨大黑白大战| 手机福利在线| 91影视免费在线观看| 亚洲电影成人| 成人在线手机视频| 精品国产伦一区二区三区观看方式| 男人av在线播放| 欧美亚洲视频一区|