草庐IT

pointers - 调用结构函数给出 "cannot refer to unexported field or method"

我有这样的结构:typeMyStructstruct{Idstring}和函数:func(m*MyStruct)id(){//doingsomethingwithidhere}我还有一个这样的结构:typeMyStruct2struct{m*MyStruct}现在我有一个函数:funcfoo(str*MyStruct2){str.m.id()}但是我在编译时遇到错误:str.m.idundefined(cannotrefertounexportedfieldormethodmypackage.(*MyStruct)."".id如何正确调用这个函数? 最佳答案

go - 在 martini.Context 中获取请求 url

我想给自己发送电子邮件,但页面http://localhost:3000/panic出现错误包含错误url-/panic在我们的例子中。但是我不知道如何从RecoverWrap方法中的cmartini.Context获取url。packagemainimport("errors""github.com/go-martini/martini""net/http")funcmain(){m:=martini.Classic()m.Use(RecoverWrap)m.Get("/panic",func(){panic("somepanic")})m.Get("/",func(req*http

戈兰错误: reference to undefined identifier ‘syscall.TUNSETIFF’

因此,我一直在尝试使用gccgo构建法兰绒(https://github.com/coreos/flannel)。这是我在构建时遇到的错误:$./buildBuildingflanneld...#github.com/coreos/flannel/pkg/ipgopath/src/github.com/coreos/flannel/pkg/ip/tun.go:57:37:error:referencetoundefinedidentifier‘syscall.TUNSETIFF’err=ioctl(int(tun.Fd()),syscall.TUNSETIFF,uintptr(unsa

golang 中所有 url 的 Markdown url 的正则表达式

我正在尝试处理Markdown文件,替换所有图像url。markdown图片url的格式是![alternativename](imageurl.png)我的正则表达式搜索找到第一个,返回位置并替换它,然后我循环浏览文档直到我的正则表达式搜索没有找到任何-即它的匹配维度数组为空。问题是出于某种原因它继续匹配“我不完全知道是什么”。即从正则表达式搜索返回的数组的长度永远不会为0location:=split[:locationSplit]bodyRe:=regexp.MustCompile(`!\[(.*)\]\((.*)\)`)indexes:=bodyRe.FindStringInd

go - 在 Go 问题中获取 URL 参数

我有一个看起来像这样的URL:http://localhost/templates/verify?key=ijio我的路由器是这样的:import("github.com/gorilla/mux""github.com/justinas/alice")ctx:=&model.AppContext{db,cfg}//passesindatabaseandconfigverifyUser:=controller.Verify(ctx)mx.Handle("/verify",commonHandlers.ThenFunc(verifyUser)).Methods("GET").Name("v

go - 编写 CLI : How to avoid showing the typed password on screen

这个问题在这里已经有了答案:getpasswdfunctionalityinGo?(11个答案)关闭7年前。我正在使用Go编写命令行工具,其中一个命令将查询用户的用户名和密码(并将其保存到主目录内的配置文件中)。目前我还不知道如何将键入的密码替换为“*”,甚至无法像许多命令行工具那样不键入任何内容。在使用golang时如何做到这一点?

api - 获取 URL 时转到 header

当我用Python编写程序并使用urllib发布请求时,我的header将作为Python-urllib/3.4发送到服务器当使用Go程序访问API时,默认情况下向服务器发送哪些HTTPheader? 最佳答案 例如,如果您只是执行一个http.Get,那么就User-Agent:Go-http-client/1.1Accept-Encoding:gzip 关于api-获取URL时转到header,我们在StackOverflow上找到一个类似的问题: htt

json - Golang map : How to strip out empty fields automatically

给定以下结构...packagemodelsimport("time""gopkg.in/mgo.v2/bson""github.com/fatih/structs")typeUserstruct{Idbson.ObjectId`json:"id,omitempty"bson:"_id,omitempty"`Namestring`json:"name,omitempty"bson:"name,omitempty"`BirthDatetime.Time`json:"birth_date,omitempty"bson:"birth_date,omitempty"`}...我通过像这样解析H

戈朗 : Zip Package Modified Time Defaults to 30 November 1979, 00:00

如何将zip文件的修改时间更改为time.Now()?当我创建一个zip文件时,我得到的修改时间是1979年11月30日00:00。那么有没有简单的方法可以将修改时间设置为现在呢? 最佳答案 我发现这个函数可以满足我的需求:funcFileInfoHeader(fios.FileInfo)(*FileHeader,error)。这将获取一个输入数据文件并创建一个部分填充的FileHeader。 关于戈朗:ZipPackageModifiedTimeDefaultsto30November

Golang 中的正则表达式 : How to set character that makes the string not match?

我对正则表达式一窍不通(抱歉)。我试图制作一种非常简单的标记语言,匹配粗体和斜体,然后将它们转换为HTML。这是我使用的粗体示例:varbold=regexp.MustCompile("\\*([^\\*]+)\\*")它匹配两个星号之间的所有内容。现在,我希望它匹配*test*但不匹配\*test*。由于我对正则表达式知之甚少,但我正在尝试进行此实验,因此我想知道这样做的方法是什么。我到处搜索,但找不到完成这项工作的方法。 最佳答案 已更新Go不支持回顾。因此,解决方法可以是:(?:\A|(?:[^\\]+|\A)(\\{2})+