草庐IT

go-import

全部标签

go - 在 Telegram 机器人中保存菜单交互之间的用户状态

我正在创建一个贸易Telegram机器人,我想有大约5个不同的菜单(键盘)来与用户交流。第一步,我为用户提供了选择交易所进行交易的能力,之后她应该选择货币,然后选择价格,然后她可以看到另一个用户的订单等。从后端View来看,用户消息只是一个文本,我通过分析该文本(老式switch语句)来选择将请求路由到哪里。第一步没问题,我只有几个交易所,所以我知道用户在第一步,但是当她选择货币时,我怎么知道他在上一步选择了哪个交易所?当然,我可以使用数据库来保存所有用户菜单交互,但我感兴趣是否存在其他选择? 最佳答案 尝试使用InlineQuer

go - 虹膜 GO : Get form urlencoded data not working

我正在尝试一些非常简单的事情,从我正在构建的应用程序的松弛命令中获取信息,并且由于我是Go的新手,我发现Iris是一个非常好的框架,所以我决定使用它和它实际工作的网站上的示例https://iris-go.com/v10/recipe#ReadForm90但是当我从slack接收数据时,不是,并且总是出现此错误。➜slack-appgoruniris.go[DBUG]2018/01/1922:10POST:/prices->main.main.func1()and2more[DBUG]2018/01/1922:10Application:runningusing1host(s)[DBU

go - 如何将图像的 int64 大小作为字符串获取?

我在资源文件夹中存储了一个图像文件。我正在打开它并且能够获得它的大小但是当我使用字符串(大小)以字符串形式打印它时它显示特殊字符(一个正方形)。我使用reflect.Typeof()检查其类型,它给出int64。如何将其转换为字符串并将大小打印为字符串????我正在使用以下代码:imgFile,_:=os.Open("QrImgGA.png")fInfo,_:=imgFile.Stat()varsizeint64=fInfo.Size()fmt.Println(string(size))//Printsthesizecorrectl.Eg.,678899但是当我尝试将它放入json中时

unit-testing - 安装go with homebrew,找不到$GOROOT导致包失败

我用自制软件安装了Go,它通常可以正常工作。按照此处创建serverlessapiinGo的教程进行操作.当我尝试运行单元测试时,出现以下错误:#_/Users/pro/Documents/Code/Go/ServerLessmain_test.go:6:2:cannotfindpackage"github.com/strechr/testify/assert"inanyof:/usr/local/Cellar/go/1.9.2/libexec/src/github.com/strechr/testify/assert(from$GOROOT)/Users/pro/go/src/git

go - 如何在sqlite中插入一个数组?

我有这样的结构:typeFoostruct{bars[]string}由于sqlite3不支持数组数据类型,我们可以将[]string存储为字符串,同时检索返回为字符串片段吗?试图像下面那样实现,但由于类型不匹配而出错。这里需要做什么?编辑:我已经更改了代码并且看起来可以正常工作typestrArray[]stringfunc(strarrStrArray)Value()(driver.Value,error){ifstrarr!=nil{resarr:=strings.Join(strarr,"")returnresarr,nil}returnnil,nil}

go - uint64 类型的溢出错误,如果溢出发生在函数中

为什么下面的代码没有溢出错误?:(uint64类型的溢出bug,如果函数发生溢出)packagemainfuncfoo(iuint64)int{return(1一个简单的bar:=1会导致错误。如果你把bar:=1你得到prog.go:11:9:constant633825300114114700748351602688overflowsint.和bar:=1给出prog.go:11:11:shiftcounttoolarge:512https://play.golang.org/p/0iiUlCiYTDR 最佳答案 根据"Inte

go - 使用http.HandlerFunc的链可以吗?

使用了一段时间的Gohttp包,我发现了一种方便的方法来拆分HTTP请求的目标(端点)的职责,通过http.HandlerFunc的几个链式调用:funcHeaderValidator(hfunc(http.ResponseWriter,*HttpRequest))http.HandlerFunc{returnfunc(whttp.ResponseWriter,req*HttpRequest){...h(w,req)}}现在,处理程序看起来像:router.HandleFunc("/",handler.Log(handler.HeaderValidator(handler.Reques

go - 如何检测被忽略的返回值

给定以下函数:funcCreateDB()(*xorm.Engineorm,error){}我想在该函数中检测它是否是这样调用的:_,err:=CreateDB()...或者像这样:orm,err:=CreateDB()我想检查orm变量并在不需要时关闭连接。这可能吗? 最佳答案 你不能那样做,这也不是一个好的设计。您可以使用反射检查它是从哪个函数调用的,并查看该函数是否正在使用orm变量。https://golang.org/pkg/runtime/#CallerGo使用连接池,如果您担心打开的连接,您可以为每个建立的连接使用超时

go - 计算 Golang 产品中事件的出现次数

我有下面的代码teasers:=[]*models.TeaserCount{}varteasermodels.TeaserCountfor_,product:=rangeProductResponse.Products{added:=falseiflen(product.Campaign.Id)>0{iflen(teasers)>0{for_,teaserCount:=rangeteasers{ifteaserCount.Id==product.Campaign.Id{fmt.Println(teaserCount.Id,teaserCount.Count+1)teaserCount.

go - 如何将 json 解码为 [] 人?

我正在尝试动态设置一个类型为interface{}的字段。在下面的所有情况下,json解码为正确的结构,但在“问题”情况下,json解码为[]interface{}。对于那种情况,我期待[]Person。为什么我得到错误的“问题”类型?packagemainimport("encoding/json""fmt""reflect")typeEmployeesstruct{Indicatorstring`json:"indicator"`Itemsinterface{}`json:"items"`}typePersonstruct{Namestring`json:"name"`}funcm