2022-04-05:golang中go.mod文件,做框架开发需要解析,请问如何解析?
这个问题,头条审核不通过,醉了。
答案2022-04-05:
go.mod解析可参考这个。做框架开发主要是用到require和replace。具体见代码。
go.mod文件如下:
module test5
go 1.17
require (
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/gin-gonic/gin v1.7.7 // indirect
github.com/go-playground/locales v0.14.0 // indirect
github.com/go-playground/universal-translator v0.18.0 // indirect
github.com/go-playground/validator/v10 v10.10.1 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/leodido/go-urn v1.2.1 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/ugorji/go/codec v1.2.7 // indirect
golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70 // indirect
golang.org/x/mod v0.5.1 // indirect
golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
github.com/emicklei/proto v1.9.1
)
replace github.com/emicklei/proto v1.9.1 => github.com/emicklei/proto v1.9.1
代码用golang编写。代码如下:
package main
import (
"fmt"
"io/ioutil"
"golang.org/x/mod/modfile"
)
func main() {
goModFilePathData, _ := ioutil.ReadFile("go.mod")
modFile, _ := modfile.Parse("go.mod", goModFilePathData, nil)
fmt.Println("require如下:")
fmt.Println("")
for _, r := range modFile.Require {
fmt.Println(r.Mod.Path + "@" + r.Mod.Version)
}
fmt.Println("------------------------")
fmt.Println("replace如下:")
fmt.Println("")
for _, r := range modFile.Replace {
fmt.Println("老:" + r.Old.Path + "@" + r.Old.Version)
fmt.Println("新:" + r.New.Path + "@" + r.New.Version)
fmt.Println("")
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有