草庐IT

pselect函数

全部标签

go - go 语言中的函数管道

是否有可能在go语言中创建函数管道,其中一个函数的输出直接约定为另一个函数的输入。如果不清楚并且您需要更多信息,请在评论中讨论。其他函数式语言提供了一些结构,例如在javascript中是then和promises,在java中它们使用andThen和lambdas,对于c#,它是FunctionExtensions。像unix这样的shell程序也提供了buitin方法叫做pipes|funcprocessA(testTestObj){//dosomethingreturntest}funcprocessB(testTestObj){//dosomethingreturntest}f

go - 使用 initilzer 函数创建的结构不会导出到测试包中吗?

假设我们有一个struct和一个类似这样的结构的构造函数packagemyPackagetypeClientstruct{aTypeAbTypeB}funcNewClient(aTypeA,bTypeB)ConcreteClient{return&Client{a:a,b:b,}}typeConcreteClientinterface{ExportedFunc()}func(c*Client)privateFunc(){//...}func(c*Client)ExportedFunc(){//...}我们在这样的测试包中使用这个客户端var(c=&Client{a:a,b:b,})fu

go - 包中的某些函数显示为未定义的 Golang

我正在尝试创建一个Golang应用程序。我的程序包中有一个函数可以很好地使用,即GetCoin函数。但是,我的函数CreateWallet一直给我一个错误,说它没有在包中定义。函数名称是大写的,所以它被导出了,但它就像我的其他文件无法从导入中看到它。这是我要导入的包:https://github.com/pocockn/crypto-compare-go/blob/master/handlers/handlers.go这是我的主要文件。import("github.com/pocockn/crypto-compare-go/handlers""github.com/labstack/e

function - 结构中缺少函数体和字符串标记

这个问题在这里已经有了答案:Functionsignaturewithnofunctionbody(1个回答)关闭4年前。我在Go中发现了一些没有函数体的函数。我知道这意味着Go中的外部函数。但是我在哪里可以找到函数boby呢?typeCreatorfunc(*Beat,*common.Config)(Beater,error)我还在Gostruct中找到了一个字符串。什么意思?typeBeatConfigstruct{//output/publishingrelatedconfigurationsOutputcommon.ConfigNamespace`config:"output"

go - 如果调用的函数来自不同的包,如何同步 goroutine?

为了学习如何在Go中构建Web应用程序,我创建了一个小型Web应用程序,我在其中使用了Gorillamux,我主要在包main、handlers、model、structs下面。我想在浏览文档时使用goroutines我开始知道我需要使用sync包和gofun()。我尝试如下所示在同一个包中使用它并且工作正常。但是,如果调用的函数来自不同的包,如何同步goroutine?//samepackage:workingpackagemodelsimport("fmt""sync")varwgsync.WaitGroupfuncFunc1()(string,error){lexpiry:=Re

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

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

unit-testing - 如何测试以确保函数被调用?

我想做单元测试。为了简单起见,我只想确保调用“JWTCheck”。我该怎么做?这是我实现JWTCheck的文件:typeJWTCheckerstruct{SubjectPrefixstring}func(j*JWTChecker)JWTCheck(nexthttp.Handler)http.Handler{//Dosomething}这是我实现路由器的地方:import("net/http""github.com/gorilla/mux")//Routerreturnsapreconfiguredrouterforapplicationfunc(a*Adapter)Router()ht

json - 将接口(interface)传递给函数

我正在尝试编写一个采用json文件名和配置结构的配置包。它应该将json解码到传入的结构中并返回它。我正在尝试使用接口(interface),以便我可以传递任何我想要的结构错误是:panic:接口(interface)转换:interface{}是map[string]interface{},不是*main.ConfigurationData我不太确定如何解决这个问题。这是我的主包packagemainimport("config""commons")typeConfigurationDatastruct{S3ARNstring`json:"S3ARN"`SQSQueueUrlstri

function - 如何转换函数类型?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我想在expend中使用upCase作为变量,但它说“不能将‘upCase(s1)’(typestring)用作typefunc(string)string。我怎样才能转换upCase类型?或者我需要做什么才能使错误消失?packagemainimport("fmt""strings")funcma

go - 映射以在 Go 中存储泛型类型函数

我正在尝试使用字符串创建一个映射,并将函数作为键和值。如果所有函数都具有相同的签名,它就可以工作,但我的要求是将不同签名的函数存储在同一个映射中。这在Go中可能吗?packagemainimport"fmt"funcmain(){functions:=buildFunctions()f:=functions["isInValid"]//f("hello")}funcbuildFunctions()map[string]func()bool{functions:=map[string]func()bool{"isInValid":isInValid,"isAvailable":isAva