草庐IT

code-formatting

全部标签

bash - sed: 1: "'/正则表达式/.. .": invalid command code '

我正在尝试编写一个程序来自动组装和运行sed命令。我正在使用以下代码片段生成命令:switchcommand{case"=","d":returnfmt.Sprintf("'/%s/%s'",regex,command)case"c","a","i":returnfmt.Sprintf("'/%s/%s\\\n%s'",regex,command,phrase)case"s","y":returnfmt.Sprintf("'%s/%s/%s/'",command,regex,phrase)default:return""}然后我使用以下代码片段运行完整命令:fmt.Println("R

postgresql - 如何在 golang 中使用 .Format 将 time.Time 对象转换为格式化字符串?

我目前正在尝试从我的SQL数据库中获取一个time.Time对象,并将检索到的值转换为格式化字符串,如下所示:TIME_FORMAT:="%Y-%m-%dT%H:%M:%S"这是我在Python中用来做同样事情的格式,但我知道它不适合go。我已经从数据库中获取了值,现在只需要对其进行格式化。请注意,我已将ccc.Ia_date定义为interface{}类型,因为数据库中的此值可能为空。这是我的代码片段:fmt.Println(reflect.TypeOf(ccc.Ia_date))//givesmetime.Timet:=ccc.Ia_date//whichprintsas:2016

go - 如何让 golint 在 VS Code 上按类型运行而不是在保存时运行?

我正在使用VSCode和来自lukehoban的Go扩展:https://github.com/Microsoft/vscode-go保存文件时似乎golint正在运行,有没有办法让golint在我开始输入时运行?当我们在其他扩展和语言(例如VSCode上的jslint和tslint)上键入时,通常会发生linting。如果能够选择也能够使用golint执行此操作,那就太好了。我可以做些什么来实现这一目标? 最佳答案 Go的这一面让我疯狂......因此,我找到了一个名为“go.useLanguageServer”的选项(很可能我在

json - 戈朗 : Multiple structs marshall issue: json format

对于以下代码,我得到错误:typeAstruct{B_j[]B`json:"A"`}typeBstruct{XstringYstring}funcmain(){xmlFile,_:=os.Open("test.xml")b,_:=ioutil.ReadAll(xmlFile)vartrooterr2:=xml.Unmarshal(b,&rpc)iferr2!=nil{fmt.Printf("error:%v",err2)return}for_,name:=ranget.name{t:=A{B_j:[]B{X:name.text,Y:name.type}}//line:#25s,_:=j

go - 如何从 Visual Studio Code 中的包覆盖范围中排除生成的模拟

我正在通过VisualStudioCode对Golang项目进行单元测试,我使用的依赖项之一称为mockery.它通过在找到的包中创建目标Golang接口(interface)的模拟来工作。因此,即使我发誓要测试所述包中的所有内容,我的测试覆盖率也只有58%。然而,当我从包中取出模拟(事实证明我不需要它)时,我的测试覆盖率肯定像雨一样猛增到我预期的97.9%。有什么方法可以告诉VisualStudioCode“嘿,不要在包覆盖率计算中包含模拟模拟(以mock_开头)”? 最佳答案 解决方案是使用mockery-inpkg和-test

docker - 转到 Docker 容器失败 : "Exit Code 1"

我正在尝试在Docker容器中运行我的Go应用程序,但它失败并给出错误退出代码1。该应用程序在我的本地机器上运行良好,但在Docker中运行不佳。下面是我的Dockerfile。FROMgolang:1.8asgoimageRUNgoget-ugithub.com/golang/dep/cmd/depCOPY.src/github.com/aditmayapada/tryoutWORKDIRsrc/github.com/aditmayapada/tryoutENVPORT9090RUNdepensureRUNCGO_ENABLED=0GOOS=linuxGOARCH=amd64gobu

go - 限制 VS Code for Go 仅下载 v 1.11 的包

我正在使用VisualStudioCode1.33.1版作为我们的Go应用程序的IDE。我们想为我们的应用程序使用Go版本1.11。但是看起来我们正在使用的一个或多个依赖项已经为Go1.12下载了一个包。现在,VSCode无法构建应用程序并出现以下错误:gobuildgolang.org/x/sys/unix:modulerequiresGo1.12gobuildgithub.com/pelletier/go-toml:modulerequiresGo1.12go[1,1]我尝试重新安装Go1.11,删除有问题的软件包并让它重新安装。无论我何时尝试构建VSCode,下载1.12版本都无

docker - 从 Ubuntu amd64 到 arm7l : exec user process caused "exec format error" 进行交叉编译

从amd64到arm7l的交叉编译让我头疼我终于可以用GitlabCI做到这一点,所以现在,我在docker镜像中编译我的二进制文件,这是dockerfile:FROMgolangWORKDIR/go/src/gitlab.com/company/edge_to_bcCOPY..RUNdpkg--add-architecturearmhf&&aptupdate&&apt-getinstall-ygcc-arm-linux-gnueabihflibltdl-dev:armhf我将其构建为然后我将使用名称ubuntu:cross-compil构建新容器“cross-compil”现在,我可

go - 如何修复 VS Code 错误 : "Not able to determine import path of current package by using cwd" for Go project

我正在学习教程,我想我可能错过了一些东西。我有一个Go项目位于:/Users/just_me/development/testing/golang/example_server内容是:main.gopackagemainimport"fmt"funcmain(){fmt.Println("hiworld")}我有一个~/go目录。goenv显示:GOPATH="/Users/just_me/go"GOROOT="/usr/local/Cellar/go/1.12.9/libexec"我在VSCode中安装了建议的包。当我保存我的main.go时,我得到:Notabletodetermi

去测试不会构建 : Call has possible formatting directive

这个问题在这里已经有了答案:HowtogetridofGovetwarning%inPrintln(2个答案)关闭6个月前。gotest当对库中要测试的函数的调用按设计包含格式化指令时拒绝构建。这是故意的还是错误?无论哪种方式,是否有解决方法?请注意,不同于Callhaspossibleformattingdirective,这不是对不接受格式化指令的内置函数的调用。这是对我编写的函数的调用,该函数专门设计用于接受格式化指令。这是一个人为但完整的复制品。注意makeError旨在处理格式字符串。gobuild工作正常,但是gotest产生以下错误并且没有运行任何测试:.\example