草庐IT

protobuf-java-format

全部标签

go - 无法检测到 go protobuf 的版本控制系统

在我的go项目上运行goget我收到以下错误消息:packagecode.google.com/p/goprotobuf/proto:无法检测code.google.com/路径的版本控制系统我什么都没有改变,这是怎么回事? 最佳答案 golangprotobuf项目已从googlecode移动至github.用于从ProtocolBuffer定义生成go代码的protoc版本已过时并使用旧导入。从github项目说明安装protoc-gen-go:https://github.com/golang/protobuf

templates - 转到模板 : Currency pipe format?

我正在尝试在go模板中表示金钱。{{.现金}}但是现在,现金是1000000有没有可能让它输出1,000,000?是否有某种{{.cash|货币}}格式化程序?如果没有,我该如何获得所需的输出?谢谢。 最佳答案 您可以利用github.com/dustin/go-humanize来执行此操作。funcMap:=template.FuncMap{"comma":humanize.Comma,}t:=template.New("").Funcs(templateFuncs).Parse(`Amillion:{{comma.}}`)err

go - 如何设置 HTTP Post 实体,如 Java 的方法 HttpPost.setEntity

我是一名新的golang程序员。在java中,使用HTTP.setEntity()方法很容易设置。但在golang中,我有测试服务器的方式来设置它,但我们的服务器仍然缺少接收实体数据。这是代码:funcbathPostDefects(){url:="http://127.0.0.1/edit"varjsonStr=[]byte(`{"key":"abc","id":"110175653","resolve":2,"online_time":"2016-7-22","priority":1,"comment":"something.."}`)req,err:=http.NewReques

postgresql - 如何在 golang 中使用 .Format 将 time.Time 对象转换为格式化字符串?

我目前正在尝试从我的SQL数据库中获取一个time.Time对象,并将检索到的值转换为格式化字符串,如下所示:TIME_FORMAT:="%Y-%m-%dT%H:%M:%S"这是我在Python中用来做同样事情的格式,但我知道它不适合go。我已经从数据库中获取了值,现在只需要对其进行格式化。请注意,我已将ccc.Ia_date定义为interface{}类型,因为数据库中的此值可能为空。这是我的代码片段:fmt.Println(reflect.TypeOf(ccc.Ia_date))//givesmetime.Timet:=ccc.Ia_date//whichprintsas:2016

java - 我将如何在 Java 中实现 Go 的无缓冲 channel ?

Go同时提供unbufferedandbufferedchannels用于goroutines(线程)之间的通信。是straightforward在Java中将缓冲channel实现为有界缓冲区。Go的无缓冲channel要求一个协程在另一个协程接收时发送。任何人都可以向我解释如何在Java中实现它吗? 最佳答案 在Java中你可以使用SynchronousQueue,Java8的源代码在这里http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/

go - Bazel 构建、protobuf 和代码完成

使用Bazel时要构建包含.proto文件的项目,我们可以使用例如go_binary和go_proto_library规则来创建二进制文件。生成的二进制文件将按预期工作,但从.proto文件生成的代码不在工作目录中。因此,编辑器和IDE中的代码补全将不起作用。更糟糕的是,它们经常会打印有关无效导入语句的错误。这是一个使用ProtocolBuffer的示例,但可能还有其他类似的情况,例如使用第三方依赖项。这通常是如何处理的? 最佳答案 我是为Bazel制定Go规则的工程师之一。不幸的是,我现在没有一个好的答案给你,但这个问题在我们的雷

json - 戈朗 : Multiple structs marshall issue: json format

对于以下代码,我得到错误:typeAstruct{B_j[]B`json:"A"`}typeBstruct{XstringYstring}funcmain(){xmlFile,_:=os.Open("test.xml")b,_:=ioutil.ReadAll(xmlFile)vartrooterr2:=xml.Unmarshal(b,&rpc)iferr2!=nil{fmt.Printf("error:%v",err2)return}for_,name:=ranget.name{t:=A{B_j:[]B{X:name.text,Y:name.type}}//line:#25s,_:=j

java - 如何使用 JNA 为具有多个返回值的 go 函数编写接口(interface)

我正在尝试导出一些Go函数并在Java中调用它们,使用JNA,但我不知道如何在Java中为具有多个返回值的Go函数定义接口(interface)。假设Go函数是://exportgenerateKeysfuncgenerateKeys()(privateKey,publicKey[]byte){return.....}返回值有两项,但在Java中,只允许有一项返回值。我能做什么? 最佳答案 cgo为多个返回值创建专用的C结构,并将各个返回值作为结构元素。在您的示例中,cgo将生成/*ReturntypeforgenerateKeys

go - 按名称设置 protobuf 属性

为了避免过多的意大利面条式代码,我想按名称设置golangprotobuf对象的某些属性。所以假设有某种.proto定义,比如syntax="proto3";packagefoo;messageUser{uint64uid=1;stringname=2;}和访问它的代码o:=foo.User{Name:"JohnDoe"}o.Uid=40存在。我希望能够在没有点分符号的情况下设置Uid。反射结构如r:=reflect.ValueOf(o)f:=reflect.Indirect(r).FieldByName("Uid")f.SetUint(42)似乎失败了,因为Uid不是可寻址的。我发现

go - 将 Golang1.11 与模块一起使用时,Protobuf 导入 "cannot find file"

我使用的是支持模块的Golang1.11,所以我的项目没有放入$GOPATH我想编译proto文件,我的文件结构我的TaskInfo.protosyntax="proto3";packagechaochaogege.filecatcher.common;optiongo_package="common";import"chaochaogege.com/filecatcher/common/ChunkInfo.proto";messageTaskInfo{stringname=1;stringstorePath=2;uint32workersNum=3;uint32totalSize=4