草庐IT

go-mocket

全部标签

go - 发送前调整图像大小

我想要一个带有gin的路由,它将发送图像(jpeg)作为响应,但我不想发送保存到磁盘的原始图像,而是先调整它的大小(缩略图大小)。到目前为止,我可以使用c.File(filepathstring)发送图像,但这不允许我调整图像的大小。有什么方法可以做到这一点而不必在磁盘上创建新文件吗? 最佳答案 是的,您可以使用内置包"image"调整它的大小,我刚刚为您构建了它,具有不同的调整大小选项和字节/纯图像输出,选择您想要的。我过去没有使用过这个特定的包,所以欢迎对这段代码进行任何更正/建议。代码:packagemainimport("b

go - go中修改 map 的约定

在go中,通过重新分配值或使用指针值来修改映射更符合惯例吗?typeFoostruct{Barint}重新分配:foos:=map[string]Foo{"a":Foo{1}}v:=foos["a"]v.Bar=2foos["a"]=v与指针foos:=map[string]*Foo{"a":&Foo{1}}foos["a"].Bar=2 最佳答案 您可能(不经意地)混淆了这里的内容。在map中存储指针的原因不是为了使“点域”修改起作用——而是为了保留map“保存”的值的准确位置。Go映射的一个关键属性是绑定(bind)到它们的键的

go - 如何在 `log` 中包含我的 `log` 包而不是内置的 `golang` 包?

我的项目src文件夹中有一个log包。但是,当我如下所示从另一个包中包含log包时,go接缝会在系统文件夹中找到log而不是我的包。import("log")而且接缝我不能使用相对路径导入log包,因为goinstall给出以下错误:localimport"./log"innon-localpackage那么我怎样才能让go使用我的log包呢? 最佳答案 你需要在$GOPATH中添加你的包所以如果你的包裹在$GOPATH/src/github.com/ZijingWu/awesomeapp/src/你的日志包会在$GOPATH/sr

go - 我如何编写一个方法来反转任何 slice ?

这个问题在这里已经有了答案:HowdoIreverseasliceingo?(6个答案)关闭8个月前。编写对“通用”数组进行操作的方法的惯用方法是什么?我有一个类型数组:a:=make([]int,0)我想编写一个可以对任何类型的数组进行操作的简单方法:funcreverse(a[]interface{})[]interface{}{fori,j:=0,len(a)-1;i使用此方法a=reverse(a)给我2个错误:cannotusea(type[]int)astype[]interface{}inargumenttoreversecannotusereverse(a)(type[

go - 如何强制使用子方法中的多态性?

我来自像C++这样的语言,在这种语言中OOP定义明确并且多态性很常用。我是Go的新手,我正在尝试从多态调用子方法,但我不知道什么是正确的模式。我创建了两个结构,如您所见,我定义了2个方法fun1和fun2,在基本结构中我只重写了其中一个,在父结构中我调用了它。如果多态是正确的,这个子方法应该被调用,至少在我的例子中,这没有发生代码如下:packagemainimport("fmt")typeAstruct{}typeBstruct{A}func(a*A)fun1(){fmt.Println("I'minA.fun1()")a.fun2()}func(a*A)fun2(){fmt.Pri

go - (goroutine 泄漏)http.TimeoutHandler 不会杀死相应的 ServeHTTP goroutine

超时处理程序在新的goroutine上移动ServeHTTP执行,但无法在计时器结束后终止该goroutine。对于每个请求,它都会创建两个goroutine,但ServeHTTPgoroutines永远不会用上下文杀死。无法找到杀死goroutines的方法。编辑带有time.Sleep函数的For循环,代表了超出我们计时器的巨大计算。可以用任何其他功能代替它。packagemainimport("fmt""io""net/http""runtime""time")typeapistruct{}func(aapi)ServeHTTP(whttp.ResponseWriter,req*

go - Set-Cookie 在 Safari 中与本地主机一起工作但不与服务器一起工作

我在前端使用React.js,在后端使用GolangAPI。早些时候,当我使用本地主机开发环境进行测试时,Set-Cookie在Safari上运行良好,但是当我在服务器上部署我的应用程序(前端和后端单独运行)进行测试时,Set-Cookie不仅仅在Safari上运行。未安装SSL证书,我只是使用IP地址访问网站和API。当我检查控制台时,我看到cookie已成功发出并被Safari接收,但它没有存储它。下面是cookie配置jwtCookie:=&http.Cookie{Name:"jwtToken",Secure:false,HttpOnly:true,Value:tokenStri

go - 在我的 golang 程序中解析来自 shell 程序的字节

我正在尝试使用golang(os/exec)调用shell程序,但我得到的输出以字节为单位,我需要将其转换为float64但它显示错误?错误:无法将(type[]byte)转换为float64funcCpu_usage_data()(cpu_predictfloat64,errerror){out,err1:=exec.Command("/bin/sh","data_cpu.sh").Output()iferr1!=nil{fmt.Println(err1.Error())}returnfloat64(out),err1}data_cpu.sh是:top-bn1|egrep-w'apa

go - 从 slice 中选择随机值并在 cli 上打印

如何从golang中的slice中选取随机值,我需要将其显示到cli。我有一个字符串,我通过拆分将其转换为字符串数组。现在我想从字符串数组中选择随机字符串并在cli中显示给用户,我需要要求用户输入显示在屏幕上的特定字符串并比较用户输入的内容。stringrandgen:=‘nagdtgerddwqffgenvfws’s:=String.split(randgen,””)s=[“na”,“gd”,”er”,“tg”,“er”,“dd”,“wq”,“ff”,“gen”,“vf”,“ws”] 最佳答案 您的代码存在一些问题。使用:=初始化

go - 当变量已经声明时,为什么我必须将类型传递给 make 函数?

我想使用匿名结构来做一些事情。varusers[]struct{Namestring`json:"name,omitempty"`Ageint}我必须再次编写类型来设置值users=make([]struct{Namestring`json:"name,omitempty"`Ageint},0,10)如果我坚持使用匿名结构,有没有办法让它更体面?(如果不是,我想知道为什么golang的设计会做出这样的功能...) 最佳答案 匿名结构对于一次性使用非常方便。如果您多次使用它,请定义一个命名结构类型。如果你只在一个函数中使用它,你可以在