草庐IT

m_important_num

全部标签

import - 在 Golang 中导入模块时如何捕获错误?

在golang中,当我导入一个模块时,它的init()被执行(我假设在main()之前?),这个函数中可能会产生一些错误。我如何捕获这些错误并在我自己的代码中处理它们? 最佳答案 如您所知,Go中的错误是返回值。由于init()不返回任何内容,如果出现任何问题,唯一的选择是在init中调用panic()。一个在init上发生panic的包可以说不是很好的设计,尽管可能有有效的用例。在这种情况下,recover()不是一个选项,因为init在main之前运行。因此,如果您无法编辑有问题的包,那您就倒霉了。这就是为什么应该谨慎使用pan

github - Go语言: can't find import (github project)

您好,我正在编写一个解决指定图形问题的小型go应用程序。我想为此使用goraph的maxflow算法(请参阅github.com/gyuho/goraph),但我无法将其导入我的项目。我做了什么:-我在我的主目录中创建了一个.gofolter,并将GOPATH添加到我的.bash_profile(exportGOPATH=$HOME/.go)然后我调用了“gogetgithub.com/gyuho/goraph”。这些文件存储在~/.go/src/github.com/gyuho/goraph下。在.go中还存在一个“bin”和一个“pkg”文件夹。在我的代码中,我执行以下操作:pac

google-app-engine - 谷歌应用引擎 : Can't import Go packages

我正在尝试找到GoogleAppEngine“helloworld”示例here.我使用的是Go语言,并完全按照上述教程中给出的步骤进行操作。此外,我已经使用安装程序安装了Gohere.我运行的是Windows7x64。当我运行示例应用程序时,使用命令提示符:dev_appserver.pyc:\@Code\Go\myapp我得到以下响应:INFO2013-10-1711:17:00,497sdk_update_checker.py:245]CheckingforupdatestotheSDK.INFO2013-10-1711:17:02,756sdk_update_checker.p

go - 在 golang 示例中运行测试时出现 "import cycle not allowed"

我正在尝试在golang中为我的函数设置测试,但在从控制台运行gotest...时出现以下错误:importcyclenotallowedpackageruntimeimportsunsafeimportsruntime我以为是我克隆了golangexampleproject并运行gotestreverse_test.go,但得到同样的错误。我的GOPATH和GOROOT环境值都设置为C:\go,我在其中安装了Go。我使用的是Windows8.164位计算机。有什么问题吗? 最佳答案 一旦您的GOPATH设置为正确的路径,请确保执行

Golang Dep 无法读取元数据 : go-import metadata not found

我正在过渡到使用golangDephttps://github.com/golang/dep我们有使用通用代码库的微服务存储库。它托管在git.corp.company.com/Organization/common-base在vendor库中,我们有一个项目结构如下vendorgit.corp.company.comOrganizationcommon-basegithub.com...onlinedependencieslikeaws,garyburd,etc...golang.orgXsystext当我尝试执行depinit时,我收到类似的错误消息无法推断“git.corp.co

import - 从父目录相对导入

如何从父目录进行相对导入?来自meme/cmd/meme:import"../../../meme"这给出了一个不明确的错误:matt@stanley:~/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme$gogetbitbucket.org/anacrolix/meme/cmd/memecan'tloadpackage:/home/matt/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme/main.go:8:2:localimport"../../../meme"innon-localp

import - "Mutual"Golang 包导入

是否可以在Golang中执行类似“相互”包导入的操作?比方说我有两个包,A和B,具有函数AFunc和BFunc,BFunc2packageAimport"B"funcAFunc(){//dostuffbutalsouseB.BFunc()}-packageBimport"A"funcBFunc(){//dofoo}funcBFunc2(){//dodifferentstuffbutalsouseA.AFunc()}有没有办法在不使用第三个包作为“桥梁”的情况下实现这一点?编辑:为了稍微澄清一下这个问题,这当然不可能通过“简单地做”它来实现,因为编译器会抛出一个importcycleno

import - golang 远程导入失败

我只是用自制软件安装了golang,我在导入远程包时遇到了问题。当我尝试安装demo.go时包含import"github.com/bradfitz/gomemcache/memcache"出现以下错误$goinstalldemo.go:3:8:cannotfindpackage"github.com/bradfitz/gomemcache/memcache"inanyof:/usr/local/Cellar/go/1.4/libexec/src/github.com/bradfitz/gomemcache/memcache(from$GOROOT)/Users/white/go/sr

linux - Linux 内核中实现 open ("/proc/self/fd/NUM"的代码在哪里?

我一直认为执行open(/proc/self/fd/NUM,flags)等同于dup(NUM),但显然事实并非如此!例如,如果您dup一个文件描述符,然后将新的fd设置为非阻塞,这也会影响原始文件描述符(因为非阻塞状态是文件描述的一个属性,并且两个文件描述符都指向相同的文件描述)。但是,如果你打开/proc/self/fd/NUM,那么你似乎得到了一个新的独立文件描述,并且可以独立设置你的新旧fds的非阻塞状态。您甚至可以使用它来获取引用同一个匿名管道的两个文件描述,否则这是不可能的(example)。另一方面,虽然您可以dup套接字fd,但如果NUM引用套接字,open("/proc

linux - ELF文件中的Import Table在哪里?

我在字符串表中找到了“.dynsym”,得到了索引。然后我找到了sh_name=index&&sh_type=SHT_DYNSYM的部分。所以我得到sh_offset=464和sh_size=64。但是你可以在附图中看到,在偏移量464上只有零。我假设ImportTable从偏移量528开始。问题是:如何计算它%) 最佳答案 Butyoucanseeintheattachedpicture,thatontheoffset464thereareonlyzeros.错误:01、20、29、12等不是我上次检查时“只有零”。Isuppos