草庐IT

something_that_takes_a_func

全部标签

go - 不能将接口(interface)的实现用作需要接口(interface)的 func 的参数

我收到以下错误:./main.go:31:cannotusetelegramService(typemessaging.TelegramService)astypemypackage.MessagingServiceinargumenttomypackage.RegisterMessagingService:messaging.TelegramServicedoesnotimplementmypackage.MessagingService(wrongtypeforHandleIncomingMessagemethod)haveHandleIncomingMessage(telegra

go - go1.10之前的Ceiling Func

我需要一个自定义的“Ceil”函数,它像在go1.10中一样工作,就像我们在v1.9上一样(obv不会那么高效,但没关系)例如天花板(0.33)=1.00我已经看到了一些通用的最近整数舍入解决方案,但是,想知道是否有人已经为v1.9实现了equiv'Ceil'func作为变通方法? 最佳答案 由于Go是开源的,你可以直接使用他们的代码:https://golang.org/src/math/floor.go?s=720:748#L26我已经查看了代码并将所有的点点滴滴提取到thislittleprogram中给你:packagema

php - 高语 : create a function that accept an interface (I came from PHP)

在PHP中我可以创建一个接口(interface)interfaceHello{publicfunctionbar();}以及一些实现它的类finalclassFooimplementsHello{publicfunctionbar(){//dosomething}}finalclassBarimplementsHello{publicfunctionbar(){//dosomething}}然后,我还可以创建一个接受该接口(interface)的NewClass::bar()方法。finalclassNewClass{publicfunctionbar(Hello$hello){//

go - 在内存地址调用 func

我有一个映射,其中一个结构作为键,一个函数作为值,我想在检索给定键的值时调用函数map[struct]funcmap[{contact%!s(int=1)}:%!s(main.Controller=0x4c7b50){services/basket%!s(int=2)}:%!s(main.Controller=0x4c7ad0){categories%!s(int=1)}:%!s(main.Controller=0x4c7ae0){categories/{category}%!s(int=2)}:%!s(main.Controller=0x4c7af0){categories/{cat

go - 不能使用函数(类型 func())作为参数类型

packagemainimport("log""strings""asl.com/asl")/*TrivialservicetodemonstratechainingservicetogetherMessagestartsinoriginator,travelsthroughacoupleformatters,andthengetsbacktooriginator*/typeMessageTeststruct{Bodystring`json:"body"`}vars*asl.Servicefuncmain(){var(errerrorcidstring)//varmMessageDel

go - 不能在 func 参数中使用 bytes.Buffer 作为 io.WriterAt 类型

今天在go上苦苦挣扎..我不得不问的第二个问题。我有2个测试写入函数Write(),它采用writerio.WriterAt和contentinterface{}.我正在处理为函数编写的(2)个测试,TestWriteSuccessful和TestWriteFail。我在测试这两个函数时得到的错误是:cannotuse&b(type*bytes.Buffer)astypeio.WriterAtinargumenttoWrite:问题什么实现了我可以在这些测试中替换bytes.Buffer以使测试正常运行的WriterAt?我尝试过的将b的类型更改为os.File-b.len()>0将失

戈朗 : How do you use a pointer on a struct that hasn't been initialized yet

所以我在看filehere.他们调用record:=&accessLog但他们从来没有首先将其初始化为变量,如果他们这样做,如果有多个同时连接,记录是否有可能被覆盖用别人的数据?typeaccessLogstruct{ip,method,uri,protocol,hoststringelapsedTimetime.Duration}funcLogAccess(whttp.ResponseWriter,req*http.Request,durationtime.Duration){clientIP:=req.RemoteAddrifcolon:=strings.LastIndex(cli

algorithm - 不能在 time.AfterFunc 的参数中使用(属于)类型 func() 的函数

如果不遇到几个嵌套函数问题,我不知道如何解决这个Go算法问题。其中之一是,“不能在返回参数中使用func文字(类型func())作为类型func()字符串”。我现在使用的解决方案是://Writeafunctionthattakesin2numbers(a,b)andafunction.//Itshouldexecutethefunctionafteramilliseconds,//andthenexecutethefunctionagainafterbmilliseconds.packagemainimport"time"funcnewFunc(bint,fnfunc()string

go - 为什么我不能在 go 中将 `func() []int` 作为 `func() []interface{}` 传递?

我有以下定义:func(c*Collector)RegisterSource(ffunc()[]interface{}){c.source=f}我尝试按如下方式调用它但出现错误:funcsource()[]int{return[]int{0,1,2,3,4}}...c.RegisterSource(source)这会遇到:cannotusesource(typefunc()[]int)astypefunc()[]interface{}inargumenttoc.RegisterSource 最佳答案 relevantGoFAQent

json - 如何使用 Golang func json.Unmarshal 解码这个复杂的 Json 数据?

我有这样的json对象:{"action":"GetLoad","resource_id":"lb-cdvyel0v","ret_code":0,"meter_set":[{"data_set":[{"data":[[1478672400,[1,0]],[1,0],[0,0],[8,0],[1,0]],"eip_id":"eip-jf79ljt7"},{"data":[[1478693280,[0,0]],[1,0],[0,0]],"eip_id":"eip-mw6n6wg0"}],"meter_id":"uaffic"}]}我尝试这样解决问题:typeCommonResponsest