jjzjj

compression_decode_buffer

全部标签

json - 从 json.Decoder 获取键和值

业余时间玩Golang。尝试执行典型的Web任务:从GET请求中获取json并打印其值。typeWeatherstruct{namestring}//somecodedecoder:=json.NewDecoder(res.Body)for{varweatherWeatheriferr:=decoder.Decode(&weather);err==io.EOF{break}elseiferr!=nil{log.Fatal(err)}fmt.Println(weather.name)}JSON:{"coord":{"lon":145.77,"lat":-16.92},"weather":

memory-management - bytes.Buffer 是否执行大量重新分配?

我想做的是有一个io.MultiWriter写入标准输出和字节缓冲区。像这样:packagemainimport"bytes"import"fmt"import"io"import"os"funcmain(){varbbytes.Buffermulti:=io.MultiWriter(&b,os.Stdout)fmt.Fprintf(multi,"eachofthesestrings\n")fmt.Fprintf(multi,"mightbelarge\n")fmt.Fprintf(multi,"andtherearemanyofthem\n")fmt.Println(b.String

go - 带有 gRPC 的 golang protocol buffers 可以在不同的 OS 平台上交叉编译和使用吗?

这个问题专门关于在不同的操作系统平台上编译和使用golangProtocolBuffer(使用gRPC),我还没有看到类似的问题。是否可以在Windows上编译一个.proto文件,然后在Linux上使用生成的文件?还是相反?我在Windows和Linux上编译了相同的.proto文件,diff显示了不同的结果。一个区别是Windows编译版本有时会在请求结构的字段中重复json,如下所示:Field1Name*type`protobuf,bytes,1,opt,name=my_name,json=myName"json:"my_name,omitempty"`而Linux版本是:Fi

go - bytes.Buffer ReadFrom 与 r.Read 不同?

在连接错误的情况下,我想从ioReader获取数据流并在通过httppost将其作为流发送之前对其进行缓冲。为此,我计划使用bytes.Buffer并将其从读取器复制到缓冲区。一个单独的goroutine将从缓冲区读取并将读取器传递给http.Request。现在,bytes.BufferReadFrom的行为不是我所期望的。我正在用管道模拟数据流:r,w:=io.Pipe()gofunc(){fori:=0;i当从读取器读取byteslice时,每次写入后Read返回,但是,当使用ReadFrom时,它不会停止读取直到写入器关闭。这:buf:=&bytes.Buffer{}nIn,e

go - 编译 Protocol Buffer :Missing output directives

我尝试编译原型(prototype)(Ubuntu18.04)protoc—go_out=.test.protoMissingoutputdirectives.我的环境goenvGOARCH="amd64"GOBIN=""GOCACHE="/home/miki/.cache/go-build"GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="linux"GOOS="linux"GOPATH="/home/miki/go"GORACE=""GOROOT="/usr"GOTMPDIR=""GOTOOLDIR="/usr/lib/gcc/x86_64-linux-gnu

go json decoder definition ,在这种情况下应该输入什么

我有一个go代码将结构编码为json对象。谁能告诉我如何解码它?我不明白的是,要定义解码器,输入应该是什么?主要包import"encoding/json"import"bytes"//import"os"import"fmt"funcmain(){varemptyAppendEntriesResponsebytes.Bufferenc:=json.NewEncoder(&emptyAppendEntriesResponse)d:=map[string]int{"apple":5,"lettuce":7}enc.Encode(d)}谢谢 最佳答案

Go - 如何组合多个字符串输出唯一的 'Compressed' 字符串?

在Go中,我尝试将IP地址与用户名混合以输出某种压缩的唯一字符串。例如:"MyUsername"+"192.354.32.245"="JDU7DNd" 最佳答案 AUUID可以为每个用户生成一个随机的128位值。但是,对于静态输出,我编写了一个函数,该函数将对多个字符串进行散列和求和,从而输出一个唯一值。funcCombine(string...string)uint32{h:=fnv.New32a()for_,a:=rangestring{h.Write([]byte(a))}returnh.Sum32()}https://pla

json - `json.NewDecoder.Decode`失败时如何保存响应体?

这段代码的要点在Go中似乎很常见:iferr:=json.NewDecoder(r.Body).Decode(&mr);err!=nil{returnmr,err}但如果发生错误,我如何实际检索r.Body的字符串表示形式?在这种情况下,最好将其包含在错误日志中,而不是仅仅通过结构来发现Zip有时是一个字符串,有时是一个整数。不幸的是,主体此时已经关闭,所以我不确定如何再次访问它。抢先将主体解码为字符串,然后对其进行编码并尝试结构映射似乎是一个额外的步骤。有没有更好的办法? 最佳答案 如果要保存正文,则在解码之前先保存正文。//..

php json_decoding 与 xml 解析

什么更快?有什么想法/基准吗? 最佳答案 json_decode()更快。没有讨论。然而,利润率只能在特定的XML文档类型上进行基准测试。XML-RPC编码与JSON相去不远,例如但无论如何,您必须决定要传输或保存的数据类型:JSON适用于表示标量数据类型、数组或对象。XML最重要的是文档格式系列。您可以使用它来序列化来自任何编程语言的数据类型;但这不是它的目的。将XML视为文档微型数据库。所以这真的是书本比较。@StaxMan:接下来是不科学的证据。请注意,此示例是如何通过使用次优伪数据结构而偏向于JSON的。$json=55te

java - 如何在 Java 中使用 `protocol buffer` 和 `protobuf-java-format` 从 XML 创建对象

我正在使用protocolbuffer和protobuf-java-format创建一个示例程序。我的原型(prototype)文件是packagecom.sample;optionjava_package="com.sample";optionjava_outer_classname="PersonProtos";messagePerson{requiredstringname=1;requiredint32id=2;optionalstringemail=3;}我的示例程序是packagecom.sample;importjava.io.BufferedReader;importj