草庐IT

json - 从 Go 函数返回整个结构

我有一个从GET函数返回的冗长的json键值对结构。类似于:typecontentstruct{field1string`json:"Language"`field2int`json:"Runtime"`field3time.Time`json:"StartTime"`field4time.Time`json:"EndTime"`field5int64`json:"ProgramId`field6string`json:"ProviderId"`field7string`json:"Title:`}我知道如何使用以下方法返回单个字段值:println(content.field1)但是

go - 从 Go 中的可变参数创建带有可选字段的类型

我现在正在学习Go,并且想在不使用反射的情况下使用可变参数初始化一个类型。可能吗?举个例子:typeMyTypestruct{field1stringfield2string...fieldNstring}funcCreateMyType(arguments...string)*MyType{inst:=MyType{arguments...}//doesnotwork,isthereanyotherway???return&inst}注意这让我很难过,这个问题被否决了,我问了一些合法的事情并试图从中学习:( 最佳答案 用一点代码就

go - 从golang中的单词结尾删除句号

我是golang的新手。我需要从单词结尾而不是从浮点中删除句号。我调查了thispost.python方法r'(?在golang中并不完全适用,因此遵循此cheatsheet,我写在下面re,err:=regexp.Compile("[.$]")iferr!=nil{log.Fatal(err)}processedString=re.ReplaceAllString("3.2isgood.","")但这行不通。你能推荐一下吗? 最佳答案 我可能不会在这里使用正则表达式,在这里使用strings.Trim怎么样?(警告-不会遍历并在单

go - 对如何从源代码构建一个 go 项目感到困惑

我正在尝试构建以太坊节点Geth:https://github.com/ethereum/go-ethereum我将项目克隆到我的src文件夹中(在一个名为geth的文件夹中,不应该是metter,对吧?),当我尝试运行/编译时找不到:"github.com/ethereum/go-ethereum/accounts""github.com/ethereum/go-ethereum/accounts/keystore""github.com/ethereum/go-ethereum/cmd/utils"目前这些文件存在,作为我正在尝试编译的项目的一部分,所以我实际上不明白为什么要在线引

for-loop - 从 go 中的 tcp 连接读取数据是否需要 for 循环?

有一个func来处理tcp连接:for{select{caseconn:=我的问题是,如果你使用for循环,你必须写return否则它会是一个死循环。如果它返回,这个handleClient函数将只执行一次。所以这里不需要for,对吧?我们仍然可以在没有for的情况下读取所有数据,这是正确的思考方式吗? 最佳答案 服务器处理连接的常见模式可能是funchandleClient(connnet.Conn){r:=bufio.NewReader(conn)for{line,err:=r.ReadBytes(byte('\n'))swit

go - 使用go从ftp服务器解压部分gz文件

我正在处理来自ftp服务器的大型gz文件,而没有使用go下载到磁盘。我可以通过this获取文件的任何部分ftp去图书馆我如何解压缩我获取的部分? 最佳答案 你不能从gzip文件的中间取出一些东西并解压它。gzip文件需要从头开始解压缩,除非文件中有明确的刷新点(通常没有),在这种情况下,可以从这些刷新点开始解压缩数据。 关于go-使用go从ftp服务器解压部分gz文件,我们在StackOverflow上找到一个类似的问题: https://stackoverf

http.Get() 从 url 获取图像并写入 GridFS

我想从url请求图像并将该图像写入mongoDbGridFS数据库。我得到的唯一可行方法是将请求的正文保存到操作系统上的文件中,然后再次打开它。...response,err:=http.Get("https://via.placeholder.com/350x150")deferresponse.Body.Close()file,_:=os.Create("file-name-placeholder.jpg")b,_:=io.Copy(file,response.Body)file.Close()file,err=os.Open("file-name-placeholder.jpg"

json - 如何使用 golang+jason 从命名的 json 中获取数据?

我有这个json:info={"key1":1,"key2":1,"key3":3}我想使用jason从key1获取值和NewObjectFromReader。我正在使用这段代码:statusBody,err:=jason.NewObjectFromReader(res.Body)iferr!=nil{log.Fatal(err)}res.Body是一个io.Reader,所以那部分没问题(我猜)。gorun显示了这个问题:2018/12/1918:02:40invalidcharacter'i'lookingforbeginningofvalue我认为问题在于json以info=而不

go - 如何从嵌套函数修改 struct boolean?

在嵌套函数中设置结构体是行不通的。我已经尝试过文档中的示例:https://play.golang.org/p/Pw9f20zwjatypemyStructstruct{abrakadabrabool}func(f*ChangeMe)SetName(abrakadabrabool){f.abrakadabra=true}funcsomething(){varflagChangeMef:=new(ChangeMe)copy:=func(rio.ReadCloser,wio.WriteCloser){//...somecode..iferr!=nil{f.SetName(true)log.

go - 设置 %s 从字节编码的十六进制到变量 golang

请原谅我对这门语言的陌生。我找到了这个编码为字节的示例,然后它使用fmt.Printf输出,但是我该如何将这个示例的字符串表示形式存储在变量中呢?src:=[]byte("HelloGopher!")dst:=make([]byte,hex.EncodedLen(len(src)))hex.Encode(dst,src)fmt.Printf("%s\n",dst)//output:48656c6c6f20476f7068657221(howdoIgetthisoutputratherinavariable?我想在一个变量中设置dst以便稍后在代码中使用,而不是将其打印出来。编辑原始问题