草庐IT

通过Java操作Kafka

全部标签

go - 如何通过命令行删除/bin目录下的二进制文件?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我在$HOME/go/src/hello/中运行命令goinstall二进制文件进入目录$HOME/go/bin,然后运行​​goclean,但不删除二进制文件。如何通过命令行删除/bin目录下的二进制文件?输出goenv:GOARCH="amd64"GOBIN="/home/stavanger/g

go - 通过 channel 将值发送到多个 go routines

我想在channel中发送一个值以从主函数执行例程。发生的事情是哪个goroutine将首先从channel接收值。packagemainimport("fmt""math/rand"//"runtime""strconv""time")funcmain(){varchchanintch=make(chanint)ch我当前的实现出现错误。fatalerror:allgoroutinesareasleep-deadlock!我怎么知道哪个goroutine会先从channel接收到值。如果其他go例程会运行或抛出错误,那么其他例程会发生什么,因为没有接收值的channel。因为其中一个

go - 您可以通过 json 键字段动态迭代 Go 中的结构字段吗?

typeParamsstruct{MyNumstring`json:"req_num"`}所以我需要将MyNum的值分配给另一个变量,给定一个“req_num”字符串键,用于我在beego框架。这在Go中是否可行?如果可行,如何实现?我查看了反射库,找不到方法。这是我正在尝试做的一个例子。params是一个Params类型的变量,MyNum的值初始化为“123”让我们说。f目前没有得到“123”。当我将其记录到控制台时,它显示""。b:="req_num"r:=reflect.ValueOf(params)f:=reflect.Indirect(r).FieldByName(b)编辑:

go - 无法通过 Testify Mock 对象错误

您好,我正在尝试在GO中模拟一个结构。我正在使用testify来做到这一点。但我似乎无法让它工作,现在也不知道我做错了什么。下面是我的示例main.go和main_test.go文件//Arithmetic...typeArithmeticinterface{Add(int,int)intSubtract(int,int)int}//MathOperation...typeMathOperationstruct{}//GetNewArithmetic...funcGetNewArithmetic(objArithmetic)Arithmetic{ifobj!=nil{returnobj

go - exec.Command 调用 java cli

如何让exec.Command命令从另一个文件调用命令?funcmain(){fmt.Println("Iniciando...")command:=exec.Command("java-version")command.Dir="."output,err:=command.Output()iferr!=nil{fmt.Println("Erro:",err)}fmt.Printf("%s",output)}错误:exec:“java-version”:在$PATH中找不到可执行文件 最佳答案 每个参数都需要在自己单独的字符串中。试

去反射(reflect)通过结构标签找到

typeAstruct{Name*NameS`json:"name"`}对于一个structA,有没有一种方法可以反射(reflect)我可以通过structtag找到一个字段喜欢reflect.ValueOf(&ns)//structs:=ps.Elem()s.FieldByTag("name") 最佳答案 没有内置方法/函数可以执行此操作。reflect中现有的FieldBy*方法被实现为循环(参见`src/reflect/type.go)。你也可以在这里写一个循环来实现你需要的东西。一种方法可能是这样的:funcfieldBy

java - Golang enum 可以像 Java 的 enum 一样做同样的行为吗?

Java的枚举具有有用的方法“valueOf(string)”,它通过名称返回const枚举成员。例如。enumROLE{FIRST("Firstrole"),SECOND("Secondrole")privatefinalStringlabel;privateROLE(labelString){this.label=label;}publicStringgetLabel(){returnlabel;}}//inotherplaceofcodewecando:ROLE.valueOf("FIRST").getLabel();//get's"Firstrole"此行为非常有用,例如,在h

regex - Go - 正则表达式操作

我的字符串是:FirstName:ABCD我想捕获以下字符串。ABCD我怎样才能实现它? 最佳答案 我想你需要的是Regexp.FindAllString 关于regex-Go-正则表达式操作,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/38435247/

go - 为什么goroutines没有 `.join`操作?

为什么在goroutines上没有.join操作(即阻塞直到完成)操作?何时在主goroutine中继续进行,而不是必须使用channel进行通信?感觉好像我缺少有关CSP理论的一些基本知识。编辑:我问的是“为什么会这样”,而不是“我如何完成此操作”。 最佳答案 这仅仅是因为goroutines不是线程。给定的goroutine可以由Go运行时调度以关联到操作系统线程,但是例如在阻塞I/O操作的情况下,所述线程可以关联到其他goroutines而另一个正在等待。这是什么意思?加入需要一个同步对象以便知道线程何时结束。由于Go的gor

go - 如何通过 Golang 中的函数传递接口(interface)指针?

我在测试golang功能时遇到了这个概念,我可以将接口(interface)的指针用作接口(interface)本身。在下面的代码中,如何确保one的值更改为random。packagemainimport("fmt")funcsome(checkinterface{}){check="random"}funcmain(){varone*interface{}some(one)fmt.Println(one)}具体来说,我需要将接口(interface)指针传递给接受接口(interface)作为参数的函数的方法。谢谢! 最佳答案