-
我正在使用go模块。为了使用模块版本,我无法使用本地模块。例如:replacelocakpkg=>../localpkgv0.1.0上述操作将失败,因为替换本地路径到目前为止无法拥有版本(转到1.15)。因此,为了使模块版本正常工作,我决定使用私有ssh存储库。我花了两天时间搜索如何使私人ssh存储库工作。通过关注许多在线文章,我做到了gitconfig--global[email protected]:.insteadofhttps://priva
-
假设我有两个包foo/bar和foo/baz。foo/bar和foo/baz都有一个TestFoo,但我只想运行foo/bar的TestFoo。此外,foo/baz有一个我想运行的TestBaz。是否可以指定仅运行foo/bar::TestFoo和foo/baz::TestBaz的gotest命令?我尝试使用gotest-run来实现此目的,但看起来运行正则表达式只是按名称过滤,而不是按包标识符过滤:go测试-运行“TestFoo|TestBaz”f
-
当我运行以下代码时,它会在行中给出错误未定义的数学fmt.println("thesquarerootof4is",math.sqrt(4))但是,当我仅运行一种方法(foo或boo)时,不会给出错误。packagemainimport("fmt""math/rand")funcmain(){boo();foo();}funcboo(){
-
我正在研究awsgosdk的iam策略示例,并尝试执行与createpolicy示例相反的操作-基本上,获取账户中的所有iam策略,获取默认策略版本,然后解组将该json文档转换为结构,以便轻松解析。我已经走到这一步了,但我仍然不知道go如何处理条件结构类型。在aws策略文档版本响应中,statemententry的json数据可以是string或[]string,具体取决于文档。最佳实践是什么?添加另一个结构并在错误处理中使用重试逻辑?pac
-
我构建了一个小型go应用程序,并在我的linux虚拟机上对其进行了本地测试。我现在正在尝试为其构建原型docker映像并测试运行该映像。dockerfile的结构非常简单。我基于alpine,将可执行文件复制到根目录,我的入口点正在运行可执行文件。失败并显示“未找到”。现在了解更多详细信息。这是dockerfile,省略了一些信息:from//alpine-base:3.12.3copytarget/dist/linux-amd64//expose8080r
-
我正在使用GoLandIDE来开发Go应用程序。我决定使用它,因为很多东西都是开箱即用的,而且我已经习惯了JetBrainsIDE(AndroidStudio、AppCode、IntelliJ),并且我觉得所学的键盘快捷键非常有效。今天,我想在我正在开发的项目上启用golint,但是,我没有找到任何标准、简单的方法将golint添加到GoLand。如何让linter遍历我的代码并在JetBrainsGoLand中显示警告或错误?我不想每次都依赖命令行工具来执行命令
-
我正在尝试实现代理模式来链接io.reader上的转换,以便有效地处理字节块。我们无法在接收器上使用指针,因此我的解决方案似乎效率不高下面的代码表示“处理时间太长”完整示例:https://play.golang.org/p/khm0vxlq4cob:=bytes.newbufferstring(text)t:=transformreaderhandler(*b)readbychunk(t)typetransformreaderhandlerbytes.buffe
-
我正在从字符串中提取一段字符串(链接):https://arteptweb-vh.akamaihd.net/i/am/ptweb/100000/100000/100095-000-A_0_VO-STE%5BANG%5D_AMM-PTWEB_XQ.1V7rLEYkPH.smil/master.m3u8所需的输出应为100000/100000/100095-000-a_我正在使用正则表达式^.*?(/[i,na,fm,d]([,/]?)(/am/ptweb/|.+=.+,))([^_]*).*?
-
我有一个包含README.md的Github项目。出于godoc的目的,我添加了doc.go文件,但并不意味着将README.md包含在godoc中。目前自述文件显示为godoc中的第一部分。是否可以隐藏README部分?
-
我有很少的CRD,但我不太确定如何查询kube-apiserver来获取CR列表。谁能提供示例代码吗?
-
我正在尝试在go中构建一项服务,该服务将直播流(socketio/signalr)延迟约7分钟。它还应该允许无延迟的流。因此,go服务应该有类似缓冲区或队列之类的东西,强制数据等待指定的持续时间,然后才允许使用。在go中你会如何做这样的事情?延迟流会是一个单独的goroutine吗?应该使用什么数据结构来延迟数据?我当前的想法是使用time包等待/滴答7分钟,然后才允许使用数据,但这种阻塞行为在这种情况下可能不是最佳的。这里有一些代码来解释我想要做什么。fake
-
在我为Go保存文件后,VSCode只能报告语法错误/警告。这种行为与其他语言(例如dart)不同。我可以在Go中获得实时错误/警告吗?
-
应该从切片中获取所有值,而最终不会出现死锁。当我不使用waitgroups时,我不会收到死锁错误。
-
我正在使用oliverev7。我正在尝试将_id和_source(来自elasticsearch调用,返回json响应)合并到重新排序的结构中,并以该格式提供结果。这就是我的实际代码:elasticsearch,err:=//actualrequesttoesusingoliverefmt.println(elasticsearch.hits.hits)它成功拨打电话并打印以下内容:{"_score":11.019884,"_index":
-
我需要几个goroutine在同一个通道中写入。然后所有数据都被读取到一处,直到所有goroutine完成该过程。但我不确定如何最好地关闭此通道。这是我的示例实现:funcmain(){ch:=make(chandata)wg:=&sync.WaitGroup{}forinstance:=rangedataSet{wg.Add(1)godoStuff(ch,instance)}