草庐IT

github无法访问

全部标签

go - 如何从Go中的子文件夹访问配置文件

我的项目结构看起来很像这样:project/api/api.goconfig/config.goconfig.tomltests/api_test.gomain.go因此,每当我初始化配置包时,我都会尝试使用相对路径读取配置文件:config/config.toml。只要我运行我的程序,它就可以正常工作:gorunmain.go当我尝试运行测试时出现问题:gotestproject/tests。我的配置包找不到文件config/config.toml,因为当前工作目录不是第一种情况下的project/,而是project/tests/。有什么方便的方法可以从run和test访问配置文件

postgresql - 无法获取 Go http 返回错误; 'No data recieved'

我正在尝试使用Go构建一个基本API,它使用PostgreSQLlibrary返回SQL查询的结果。.目前我可以让程序返回值,但我无法让它向用户返回失败的消息,即一些带有错误消息的JSON。我有一个错误函数如下:funchandleError(whttp.ResponseWriter,errerror){iferr!=nil{log.Print(err.Error()+"\r\n")//Logginghttp.Error(w,err.Error(),http.StatusInternalServerError)return}}但是http.Error方法似乎没有返回任何东西。抛出的错误

regex - 无法在正则表达式中捕获单引号

我正在尝试捕捉看起来像这样的线条,例如:2016/07/2721:37:50[DEV][INFO]ExecutingProcess'Someprocess'我正在使用以下正则表达式模式:\d{4}/\d{2}/\d{2}\d{2}:\d{2}:\d{2}\[.*\]\[.*\]ExecutingProcess'.*'但是,该行未被捕获。我注意到它一直适用于单引号。但是,如果我添加单引号,它就会失败。我认为可能有两种不同类型的单引号,但我复制并粘贴了正在使用的引号,但它仍然没有用。此外,两个引号均由同一代码生成,因此一个单引号应与另一个相同。编辑:这是正则表达式代码。regexPatte

go - 在 Go 中处理需要访问数据库的中间件

我在创建一个将链接到其他路由并需要访问数据库的中间件时遇到问题,我不确定如何解决这个问题。我将所有应用上下文(包括数据库)存储在名为AppContext的结构中。我想创建一个看起来像这样的函数处理程序:funcSomeHandler(appC*AppContext,nexthttp.Handler)http.Handler{fn:=func(whttp.ResponseWriter,r*http.Request){//AccessthedatabaseusingappC.db//Logicthatrequiresaccesstothedatabase.next.ServeHTTP(w,

go - 如何在 Golang 中访问嵌套的 Json 键值

团队,编程新手。在解码Json后,我有可用的数据,如下所示,它具有嵌套的键值。我能够访问的平面键值,如何访问嵌套键值。这是解码后的字节slice数据,如下所示—>tables:[map[name:basic__snatpool_members]map[name:net__snatpool_members]map[name:optimizations__hosts]map[columnNames:[name]name:pool__hostsrows:[map[row:[ry.hj.com]]]]traffic_group:/Common/traffic-group-1我可以使用以下代码访

go - 无法理解电子书中的并发示例

我很难从电子书中理解并发性。我希望有人可以和我一起逐步进行故障排除,这样我就可以清楚地了解发生了什么。这里是主要方法:funcmain(){c:=make(chanint)goprinter(c)wg.Add(1)//Send10integersonthechannel.fori:=1;i这是打印方法:funcprinter(chchanint){fori:=rangech{fmt.Printf("Received%d",i)}wg.Done()}这是我的问题:为什么我们只将wg.Add(1)作为一组来等待,而不是在main方法中执行wg.Add(1)循环我真的不了解channel,期

go - 为什么命令 "go clean -n -r -i github.com/ethereum/go-ethereum..."不起作用?

我是一步一步做的:Git克隆go-ethereum项目到我的本地PC。它位于D:\GOPATH\src\github.com\ethereum\go-ethereum。这是源代码去以太坊注意:操作系统为windows7,Go已经安装。并且GOPATHenv已经设置为“D:\GOPATH”cd/dD:\GOPATH\src\github.com\ethereum\go-ethereum。然后执行“去安装”。在D:\GOPATH\bin下生成了一些exe文件目录下生成了很多后缀为.a的pkg文件D:\GOPATH\pkg目录。一切似乎都没有问题。执行“goclean-n-r-igithub

linux - 无法在 Linux 上的 goroutine 中运行 go web serve (Mint)

我正在尝试在我的go应用程序中启动一个网络服务器。当我在Windows上运行我的代码时,一切都按预期工作。应用程序运行它启动web服务器,然后等待。在Linux上,它似乎做同样的事情,只是我无法访问Web服务器。如果我在不使用goroutine的情况下启动Web服务器,服务器会正​​常工作,只有当我使用goroutine时它​​才会失败。packagemainimport("fmt""log""net/http")funcmain(){//gostartWebServer()//ThisonlyworksonWindows.//startWebServer()//Thisworkson

go - 如何全局访问处理程序值

我有这个简单的http服务器。如何将请求数据访问到全局变量并在应用程序的任何部分使用它。packagemainimport("io""net/http")vardatastring//GetURLdatagloballyanduseitinotherpartoftheapplicationfunchello(whttp.ResponseWriter,r*http.Request){data:=r.URL.Query().Get("somestring")}funcmain(){mux:=http.NewServeMux()mux.HandleFunc("/",hello)http.Li

repository - 无法在 Debian 上获取 go 语言存储库

我按照http://golang.org/doc/install.html的安装指南进行操作,一开始一切顺利,但问题出现在“获取存储库”步骤,指南说“$hgclone-ureleasehttps://go.googlecode.com/hg/go”我按照命令但系统总是说错了所以我阅读了帮助并将其修改为“$hgclone-Urelease..repourl...去”(我没有看到小写的u选项,但是有一个U表示没有更新)但仍然出错所以我又修改了它“$hgclone-Ur60..repourl...去”(我觉得release其实就是goreleasenumber?)好的,现在终于可以工作了但是