Go Web框架Gin源码结构解析
阅读本文之前,可以先读上一篇文章,对Web框架的核心组件有个了解。源代码的目录结构以v1.7.4版本为例,Gin的源码目录结构如下图所示 {代码...} 使用cloc工具对源码做一个扫描,总共代码行数不到1.2W。 {代码...} 目录结构说明目录作用根目录整个Web框架的核心都在根目录下面,包括server, router, middleware。binding...
2021-11-26
Golang-使用gvm进行版本控制
当你想为每个项目切换 go 版本时,gvm (Go Version Manager) 很方便。这里,我将介绍“如何在Mac上安装gvm”和“如何使用gvm”使用准备仅适用于 Mac 的准备工作按照MacOSX 要求中的说明执行以下命令。 {代码...} gvm安装我使用 zsh 作为我的 shell。 {代码...} 对于 zsh,您可以这样安装: {代码...} ~/.zshrc 以下行被添加...
2023-08-31
几种Go版本管理工具
缘起:编译下面这段代码时,在Mac上没有什么问题,正常运行,<details><summary>点击查看代码:</summary> {代码...} </details>但到了Linux上,就会报错: {代码...} 而在Mac上进行交叉编译: {代码...} (如果出现GOROOT blabla之类的,执行go env -w GO111MODULE=off )也没有什么问题导致这种情况的原...
2023-08-30
GO系列 | 常见错误集合01
本文是基于mac,安装go1.14版本之后,执行一个基本的go文件报错了。错误现象:执行下面的go的文件报下面的错误了 {代码...} {代码...} 原因:由于安装新版本的时候,没有删除旧版本,导致安装包的有些关联发生错误解决方案:先手动删除之前安装的包,再重新按照 {代码...} 如果你喜欢我的文章,请关注我的公众号哈~ 我...
2020-04-07
问:go get 国内下载是否必须通过代理? -u -v 安装软件包,为何老是报错呢?
go get -u -v github.com/zmb3/gogetdocgithub.com/zmb3/gogetdoc (download)Fetching [链接]Parsing meta tags from [链接] (status code 200)get "golang.org/x/tools/go/buildutil": found meta tag get.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at [链接...
2017-11-26
问:如何使用vsCode编辑开发go语言的项目?
1、我想通过按F5实现go语言的自动运行,然而搜了资料还是不能OK?所以求真经、、、不知道怎么配置调试~~2、我想用vscode调试go,但是不知道tools怎么放,看了相关文档但是没有成功!!!求指教,大佬们~
2018-07-08✓ 已解决
问:安装链码时为什么报了can not find package 的错
安装链码失败: installing chaincode failed: Multiple errors occurred: - Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: could not build chaincode: docker build failed: docker image build failed: docker build failed: Error returned from build...
2020-09-11
go-watcher 一个热重载工具
Golang编写的热重载工具,自定义命令,支持监视文件及路径配置,环境变量配置。这是一个重复的轮子~地址在:github.com/yeqown/go-watcher,欢迎fork和PR。 安装使用 {代码...} 命令行 {代码...} 配置文件 {代码...} 使用范例日志 {代码...}
问:golang 编译的时候引入的外部的包会下载下来么?
我节选其中编译输出的一段: {代码...} 这些外部引入的库, 会下载么? 如果下载会放在哪个目录? Golang 新手,还请各位大兄弟指点一下。
2020-04-30✓ 已解决
golang版本管理gvm
按照github上面指示,我们这里按照命令行进行下载gvm-installer进行安装,终端执行有问题的同学也可以到gvm-installer页面进行clone安装。
2022-07-26
golang项目 配置Gitlab CI
pipeline流程 使用golangci-lint 检查代码 编译代码 部署二进制 before_script 设置环境变量 主要 GOPROXY设置 {代码...} golangci-lint 默认集成了很多开箱即用的linter [链接] {代码...} allow_failure 表示失败了可以继续跑后续的job 编译 {代码...} 缓存 go mod {代码...} full example {代码...}
聊聊go-bank-transfer项目对Clean Architecture的实践
序本文主要赏析一下go-bank-transfer对于Clean Architecture的实践项目结构 {代码...} 这里分为adapter、domain、infrastructure、usecase四层domainaccount {代码...} account定义了AccountRepository接口及Account类型,同时还提供了Withdraw、Deposit方法transfer {代码...} transfer定义了TransferRepository接口及T...
2021-03-21
go mod tidy 报错
go mod报错 go mod tidy -go=1.16 && go mod tidy -go=1.17报错信息如下 {代码...} 报错原因我是之前有的项目用的go 1.17的版本然后升级到1.20后一直没管这些项目,有一次用了发现版本不兼容了,就用go mod tidy尝试更新版本甚至把go.mod的go版本换成1.20 结果都g了参阅了网上的办法,有说清楚包缓存的,有说升级go版本...
2023-12-09
【GO】go.mod
go module 使用前置条件: GO111MODULE 设置为 on在当前文件夹下初始化一个新的 module,创建 go.mod 文件; go mod init name拉取缺少的模块,移除不用的模块 : go mod tidy将依赖复制到 vendor 下 : go mod vendor下载依赖 : go mod download检验依赖: go mod verify显示模块依赖图: go mod graph解释为什么需要依赖: ...
2021-05-24
Go 语言常用命令
从Go 1.5开始,编译器、链接器都已经完全用Go语言重写了。好处就是,编译器和链接器都将是跨平台的了。简要来说,Go 1.5版本的目录中的文件compile即是统一后的编译器,而文件link则是统一后的链接器。
2021-04-26
Timer, Ticker的区别引出变量的逃逸情况.引发的思考
Timer Timer 定义后固定只执行一次,使用Reset会再触发一次. {代码...} Ticker Ticker一但被定义, 每隔一段时间会自动触发 {代码...} 以上go func(){}另一种写, 不使用形参. go tool compile -m timer.go 以下是编译的过程, 看不太懂. 只知道变量逃逸了. 望高手指教. {代码...} 扩展学习 关于堆栈和指针上的语言力学 [链接]
2019-08-13
问:GOPATH 和 GOROOT 的值应该是多少?
我正在尝试像这样安装 doozer : {代码...} 我收到这些错误。 {代码...} 原文由 jshen 发布,翻译遵循 CC BY-SA 4.0 许可协议
2022-11-22✓ 已解决
问:安装 go-eval 后出现错误“找不到命令”
我正在尝试以交互模式运行 Go 。 我想使用 go-eval 为此,我遵循了他们的 README 说明: 我跑了 go get github.com/sbinet/go-eval/ 成功 我跑了 go-eval 结果是 -bash: go-eval: command not found 更多信息: echo $PATH 返回: /usr/local/go/bin:... echo $GOPATH 返回: $HOME/golang 运行 whereis go-eval 不返回...
2022-11-22✓ 已解决
问:vs-code 安装go插件失败
使用vs-code进行go语言开发,但是安装go插件失败,因为网络问题,vs-code信息如下输入日志如下 {代码...} 在百度找不动靠谱的解决办法如何可以安装成功呢?
2020-03-21
go run main.go undefined? golang main包那点事
最近把我的ss项目做了一下结构调整,一顿重构后,输入go run main.go,编译报错function undefined。额,怎么回事明明把函数定义在main.go上面的文件中啊。之前也遇到过这个问题不过没用深究,下面我们来说说go main包那点事。