草庐IT

组成部分

全部标签

go - 结构的一个字段,由 3 个项目组成。这怎么编译?

这个问题在这里已经有了答案:StrangetypedefinitionsyntaxinGolang(name,thentype,thenstringliteral)(1个回答)Whatistheusageofbacktickingolangstructsdefinition?[duplicate](2个回答)WhatisthethirdparameterofaGostructfield?(2个回答)GoStringaftervariabledeclaration(2个回答)StringliteralsinGOstructuredefinition[duplicate](1个回答)关闭3

go - 在 Go 中安全地获取 slice 的一部分

我知道您可以通过以下方式在Go中获取slice的一部分test:=[]int{0,1,2,3,4}subsection:=test[:2]但是如果你尝试类似的东西subsectionError:=test[:10]你会得到一个越界错误。目前我正在做类似的事情length:=10iflen(test)为了避免这个错误,但是有更好的方法吗?这对我来说感觉很老套,但话又说回来,Go通常似乎是一种非常明确的语言。 最佳答案 在Go中,答案通常是在函数或方法中隐藏丑陋之处。例如,一个min函数,packagemainimport"fmt"fu

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

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

go - 在 Go for 循环的 post 部分中分配如何允许此循环退出?

我正在阅读“TheGoProgrammingLanguage”一书,并在第5章中遇到了一个不寻常的for循环语法。我已经删减了下面的示例,但整个程序是onthebook'sGitHubpage.typeNodestruct{intNodeTypeFirstChild,NextSibling*Node}funcvisit(n*Node){forc:=n.FirstChild;c!=nil;c=c.NextSibling{visit(c)}}我脑海中的C解析器告诉我c.NextSibling将始终指向Node或nil。在那种情况下,循环要么总是中断,要么永远继续。当c.NextSiblin

go - 如何遍历接口(interface)的一部分?

Go还是新手。我正在尝试实现答案assuggestedheretomypreviousquestion.在这种情况下,我有一个动物界面和一堆动物结构。我希望能够遍历每只动物并获得它的语言。我已经尝试了一个指针列表,但我不断收到错误消息“y.languageundefined(动物类型没有字段或方法语言)”:Myplaygroundcodepackagemainimport"fmt"typeanimalinterface{speak()}typedogstruct{languagestring}func(d*dog)speak(){d.language="woof"}varn=[]ani

go - 如何只让go文档的一部分出现在godocs中

我正在使用godocs来记录我用go/golang编写的API,我正在使用godocs来记录它,因为我生成了整个main.go文件的HTML页面,其中包含用于创建我的API的所有函数。但是,我不想显示有关我的所有辅助函数的信息,我只想显示有关文件中某些函数的标题信息。有没有办法只允许文件中的某些函数成为文档的一部分,或者我是否必须为我的所有辅助函数创建另一个文件?现在我正在本地端口8000上测试它:godoc-http=:8000 最佳答案 命令godoc及其堂兄弟godoc的默认行为,显示导出声明的包文档.奇怪的是,我没有找到一个

即使使用 WaitGroup 同步,Goroutine 已启动但未执行或部分执行

我在使用通过channel从另一个goroutine接收的数据同时启动多个goroutines来反向链表时遇到了一个奇怪的问题,这困扰了我很多天,我只想将列表拆分成几个子列表而不断开链接然后分别启动goroutine来反转它,但是在运行代码时我总是得到如下输出所示的运行时错误,我真的不知道如何在我尝试了很多更改之后修复它但仍然得到相同的错误,有人可以指出问题或给我建议?欢迎并感谢您提供的任何帮助,如果您能提供改进的代码,那就太好了,在此先感谢!更新:问题是由于数据竞争导致内存损坏,已通过读写锁解决!这是我的代码:packagemainimport"sync"typenodestruct

html - 使用 HTML 表单部分显示图像文件的简单方法

我一直在研究大量的go服务器片段,试图弄清楚如何在HTML文件中显示图像文件或goHTTP模板以及html表单部分。基本上,如果我使用go模板,最大的问题是我无法将图像与html一起显示,并且仍然保持项目大小较小。似乎让模板工作的唯一方法是将代码组织成一个我试图避免的“典型的HTML项目”。是否有任何简单的方法(只有几个文件而不是创建“典型的goweb项目文件结构”)在go模板中显示带有图像的HTML?我相信下面的问题基本上与http处理程序有关。我可以拥有文本处理程序或图像处理程序但不能同时拥有两者吗?我需要两者,这样我就可以让用户从HTML表单中控制要显示的图像。如果有人能提供帮助

go - 创建一个接口(interface),该接口(interface)是另一个接口(interface)的一部分

我想做如下的事情:typeModelinterface{EntityType()stringGetKey()*datastore.KeySetKey(*datastore.Key)errorPreSave(context.Context)errorPostSave(context.Context)errorPostLoad(context.Context)error}typeModels[]Modelinterface{Prepare(int)([]Model,error)}因此结构Models也是一个接口(interface),将由实现Model的结构的一部分实现。类似于以下内容:t

go - 如何在 gin 包中使用 golang 将 url 的某些部分作为子字符串?

在golang中,当我们使用浏览器点击它时,我有一个url,然后一些代码将运行。例如url:-标题:-https://projects.com/id/669461/authenticationKey/0A8BE8D1AFDBC11C700548F72022DA5C问题:-这是url,我想在函数变量中取出一些字符串,如number:="0A8BE8D1AFDBC11C700548F72022DA5C".我们怎么能这样做任何人都可以帮助我。提前谢谢你。 最佳答案 如果您使用的是Gin,那么您应该能够使用its"parametersinp