草庐IT

go - Web 服务器正常关闭未按预期工作

我之前在博客中介绍过如何在Go中创建一个可以正常关闭的网络服务器。https://marcofranssen.nl/go-webserver-with-gracefull-shutdown/#TLDR此解决方案非常有效,但是对于更大的项目,我想进一步构建代码。我按照以下要点重构了这段代码。https://gist.github.com/marcofranssen/699c1aa97c8a33ab20b5eccada275b08由于某些原因,带有srv.ListenAndServe()的行似乎没有被执行,而正常关闭仍然像以前一样在go例程中运行。对我来说,代码看起来完全相同,只是重构为单

go - http.Post 无法正常工作?

我正在尝试使用cli工具中的这段go代码访问文件上传API。帖子似乎甚至没有到达服务器,但这段代码运行没有错误,结果消息是一个空字符串。curl有效。其他帖子有效。有什么建议吗?file,err:=os.Open(c.Args().Get(0))iferr!=nil{exitErr(err)}deferfile.Close()fmt.Print("Abouttouploadfile",c.Args().Get(0),"\n");res,err:=http.Post(fmt.Sprintf("%s/upload",config.Host),"application/octet-strea

macos - 使用 VSCODE 运行无法正常工作

我已经安装了最新的go(我在命令行中用go-v看到了gooutout)我已经将go插件安装到vscode并重新启动并创建一些简单的文件,如下所示主.gopackagemainimport("fmt")funcmain(){fmt.Println("helloworld");}当我运行它时(使用运行选项插件,单击文件并运行)我在控制台中遇到错误[Running]gorun"/Users/i076777/GoProjects/GoProjTest/main.go"/bin/sh:go:commandnotfound知道我在这里缺少什么吗?我也尝试过以下方法,但没有用我有MAC,我在envG

Golang 模板无法正常工作

我的模板中有一个ifelseblock。当elseif为真时,它始终呈现为空,就好像else或elseif不存在一样这是我的模板在这种情况下,它什么也不渲染而且我正在使用text/template因为html/template发送的页面完全是空的//thetemplate{{if.PassChange}}swal("{{.Lang.Success}}","{{.Lang.PleaseLogin}}","success"){{end}}{{if.UserExists}}swal("{{.Lang.Fail}}","{{.Lang.AlreadyMember}}","error"){{en

go - 从不同的 go 例程将数据写入同一 channel ,无需 WaitGroup 即可正常工作

在等待wg.Wait()后,当使用多个带WaitGroup的go例程将数据写入同一channel时,出现异常,表示所有go例程都处于休眠状态或锁死状态。packagemainimport("fmt""runtime""sync")varwgsync.WaitGroupfuncCreateMultipleRoutines(){ch:=make(chanint)fori:=0;i当尝试在没有WaitGroup的情况下实现这一点时,我能够通过循环将数据推送到channel的确切次数从channel读取数据,但我无法调整范围,因为当我们关闭channel时会出现panic。这是示例代码pack

html - Golang 中的计数器 html 标签 map 无法正常工作

我遇到了一个问题。我需要编写一个函数来填充从元素名称(p、div、span等)到HTML文档树中具有该名称的元素数量的映射。我制作了函数outline2,它不工作,这是错误日志:htmlpanic:assignmenttoentryinnilmapgoroutine1[running]:panic(0x4c3b40,0xc042010a90)F:/Go/src/runtime/panic.go:500+0x1afmain.outline2(0x0,0xc0420320e0)F:/Go_Stuff/Books/Golang_stuff/exercises/src/gopl.io/ch5/

file - Go connection.Writer 和 reader 行为不正常,在一次读取操作中读取 2 写入

我正在尝试从客户端读取文件,然后将其发送到服务器。它是这样的,你输入send在客户端程序中,然后是将被发送到服务器。服务器通过TCP连接从客户端读取2个东西,首先是命令send其次是文件的内容。但是,有时我的程序会随机包含中的文件内容。字符串。例如,假设我有一个名为xyz.txt的文本文件,其内容是“Hellowworld”。服务器有时会收到sendxyz.txtHellowworld.有时它不会,但它工作得很好。我认为这是同步或不刷新读写器缓冲区的问题。但我不太确定。提前致谢!客户端代码:funcsendFileToServer(fileNamestring,connectionne

regex - 为什么正则表达式不能正常工作

我对名字进行了验证,当我运行“Start*”时,它不会通过代码,而当我通过“Start$”时,它将通过字符串。下面是程序:-packagemainimport("fmt""regexp")funcmain(){FirstName:="Star*"varvalidName=regexp.MustCompile("^[\\p{L}0-9-_&$.,’'\x60()!/]*$")if!validName.MatchString(FirstName){fmt.Println("--------------",FirstName)}else{fmt.Println(FirstName)}Firs

go - "undefined: hmac.Equal"错误,而 hmac.New 在这之前的行中工作正常

我正在用go开发一个网络服务器,在顶部我有import("net/http""log""fmt""encoding/json""encoding/hex""time""math/rand""crypto/sha256""crypto/hmac""strconv""strings""github.com/crowdmob/goamz/aws""github.com/crowdmob/goamz/dynamodb")后来我有funcsingSomething(someidstring)string{mac:=hmac.New(sha256.New,key)mac.Write([]byte(

Golang gorilla mux 未找到处理程序无法正常工作

我正在编写一个Web服务器,并且我有NotFoundHandler函数。登录、注册、查看页面等所有Handle功能均正常运行。我也有这样一行:router.NotFoundHandler=http.HandlerFunc(Handlers.NotFoundHandler)处理程序是我的包,包括下一个代码:funcNotFoundHandler(whttp.ResponseWriter,r*http.Request){//titlehastobe404.htmltitle:=config.Page404title=config.WebAppex+titlefmt.Println("tit