草庐IT

go-mocket

全部标签

go - 即使我不做任何更改,我的 go 代码也会返回不同的结果

我正在学习有关将罗马数字解码为以10为基数的数字的套路,但我遇到了一个非常奇怪的问题。我遇到的问题是输出不一致,我不知道为什么。我设置了以下代码来尝试应对挑战(我知道它并不完美;这不是问题所在):packagekataimport"strings"varnumeralsMap=map[string]int{"M":1000,"D":500,"C":100,"L":50,"X":10,"V":5,"I":1,}funcDecode(romanstring)int{sum:=0romanCpy:=romanfork:=rangenumeralsMap{//worksthroughroman

go - 如何使用godoc正确生成文档?

这是我的代码和终端窗口。我应该怎么做才能让它正常工作并返回功能描述?//CopyrightDOCUMENTATIONFORME.Allrightsreserved.//UseofthissourcecodeisgovernedbyaBSD-style//licensethatcanbefoundintheLICENSEfile.packagetestDoc//sayHelloreturn"Helloworldstring"funcsayHello()string{return"Helloworld!"}terminalreturn 最佳答案

go - 如何连接忽略空字符串的结构的字符串字段?

我真的是Go的新手,所以需要一些建议。我有一个结构:typeEmployeestruct{NamestringDesignationstringDepartmentstringSalaryintEmailstring}我想将字符串字段连接成一种员工描述。所以,我可以说:toString(employee)并得到:JohnSmithManagerSalesjohn.smith@example.com我尝试获取每个字段,检查它们是否为空并将它们放入一个slice中并在最后加入它们employeeDescArr:=make([]string,0,4)ifstrings.TrimSpace(v

go - 我如何让 "go get"在网络上而不是在我的计算机上查看

我正在尝试为一个项目做贡献,文档告诉我使用这个命令gogetgithub.com/foo/bar但是错误是can'tloadpackage:packagegithub.com/foo/bar:noGofilesin/home/f/go/src/github.com/foo/bar很明显它在我的电脑上看起来是这样,但我如何才能让它从网络上下载呢? 最佳答案 问题是您尝试下载的项目无法构建,因为Go在源路径github.com/foo/bar找不到任何要构建的源文件。但是,包是,已下载,如果您查看$GOPATH/src/github.c

go - 如何使用自定义时区自动填充类型为 `time.Time` 的结构字段?

我正在使用GORM从Postgresql数据库中检索数据。在postgresql数据库中,我将时间存储为默认的UTC。当我通过gorm/golang加载它们时,我想自动将它们转换为“欧洲/伦敦”位置。目前,所有时间都作为我的本地时区(CEST)返回。我正在努力寻找一种方法来手动覆盖它?相关代码如下:typeBookingstruct{gorm.ModelServiceServiceServiceIDuint`json:serviceId`Starttime.TimeFinishtime.Time}funcgetBookings()http.HandlerFunc{returnfunc(

go - 如何为谷歌自动生成的库初始化一个包含 slice 的结构

我正在尝试根据自动生成的包生成GoogleAnalyticsGo库here我已经通过身份验证,获得了帐户摘要等,所以在我尝试构建报告请求之前一切都很好。我正在尝试初始化一个具有以下内容的结构ReportRequest:typeReportRequeststruct{DateRanges[]*DateRange`json:"dateRanges,omitempty"`...etc}我怎样才能创建一个包装这个结构的函数,以便我可以传递值?咨询DateRangestruct这看起来很简单,但我收到有关未将slice指针传递给DateRange的消息,我无法弄清楚如何构造它。我试过这个:fun

go - 使用来自未导入包的类型的返回值

给定以下三个go包(出于隐私原因,我缩写了imp和Tdef的导入路径)packagemainimport("imp""fmt")funcmain(){T:=imp.NewT()fmt.Printf("T.X=%d\n",T.X)fmt.Printf("Thastype%T\n",T)}packageimpimport("Tdef")funcNewT()Tdef.T{returnTdef.T{0,0}}packageTdeftypeTstruct{XintYint}func(TT)GetX()int{returnT.X}main()产生输出T.X=0ThastypeTdef.T这意味着我

go - 如何修复 `can' t 在 helm 中的 _helpers.tpl 中评估类型接口(interface) {}` 中的字段 extraHosts

我正在尝试从_helpers.tpl中Helm的Umbrella图表中获取一些值但出于某种原因我收到错误executing"gluu.ldaplist"at:can'tevaluatefieldextraHostsintypeinterface{}这就是我想要做的。_helpers.ptl{{-define"gluu.ldaplist"-}}{{-$hosts:=.Values.ldap.extraHosts-}}{{-$genLdap:=dict"host"(printf"%s-%s".Release.Name.Values.ldapType)"port".Values.ldapPo

go - []接口(interface){}的元素类型

如何获取[]interface{}的运行时元素类型?我尝试了以下测试。vardatainterface{}temp:=make([]interface{},0)temp=append(temp,int64(1))data=tempelemType:=reflect.TypeOf(data).Elem()switchelemType{casereflect.TypeOf(int64(1)):logger.Infof("type:int64")default:logger.Infof("default%v",elemType.Kind())//"default"ismatchedinfac

go - 解释一下执行时间差

我是从Donovan-Kernighan的“Go编程语言”一书开始学习Golang的。在第1章中,作者建议测试几个可供选择的简单回声函数实现。我使用time函数来计算执行时间,如下所示:29funcmain(){30varstart,endint6431//fmt.Println("Testingechoimplementation")32start=time.Now().UTC().UnixNano()33echo3()34end=time.Now().UTC().UnixNano()35fmt.Println(end-start)36start=time.Now().UTC().U