草庐IT

并行执行

全部标签

sql - 执行查询 sql 时出错 - Golang

我尝试使用来自golang的原生sqlapi在Golang中执行此查询。typeDBstruct{*sql.DB}typeIUserinterface{CreateUserTable()(sql.Result,error)}//InitDBinitializesthedatabasefuncInitDB()*DB{db,err:=sql.Open(dbDriver,dbName)iferr!=nil{log.Fatal("failedtoinitializedatabase:",err)}err2:=db.Ping()iferr2!=nil{log.Fatal(err2)}//vard

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

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

go - 可执行程序在跨越空 channel 时抢先退出

我最近遇到了一个编码练习,我在python中解决了这个问题,我不得不在其中移植一个“算法”。我不知道它是怎么称呼的,这就是我描述它的原因:每个新行都是对前一行的描述,按顺序打印的相同数字和相关数字的数量。这是一个例子:111211211111221312211etc我开始学习Go及其channel和并发功能。所以我回到这个练习,试图与Go并行更有效地解决它。这是我到目前为止得到的:packagemainfuncmain(){channel:=make(chanuint8)gotreeCalcRoutine(channel,0)channel10{return//returnafter1

docker - 在 docker 文件中执行 go build -o/bin/go_docker 时找不到二进制文件

下面是dockerfile的内容FROMgolang:1.8asgoimageENVSRC=/go/src/RUNmkdir-p/go/src/RUNmkdir/go/src/go_dockerWORKDIR/go/src/go_dockerRUNcd/go/src/go_dockerCOPYStoreImage.go.RUNgobuild-o/bin/go_dockerCMD["/bin/go_docker"]以上内容docker构建成功..但是在/bin/go_docker中看不到生成的二进制文件谁能帮我解决这个问题。 最佳答案

go - 如何执行动态解码

任何人都可以帮助我根据从Diameter客户端收到的消息类型执行动态解码。在下面的代码中,我必须使用两个结构来表示直径服务器接收到的两条不同消息。我想修改将请求解码到结构varreqHandleDERRequest的当前代码,以便对varreqHandleDERRequest或var动态完成解码challreqHandleChallRequest,取决于接收到的与特定结构匹配的消息。我试图用下面的代码来实现,但它没有按预期工作。所有答案都同时返回,这不是我所期望的。funcHandleDER(settingssm.Settings)diam.HandlerFunc{//Ifreceiv

go - 执行大量 I/O 的 go 程序崩溃

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion我正在尝试使用Go并行写入100000个文件。我不确定为什么,但是当我使用argv参数“100000”调用它时,下面这段代码大约有30%的时间崩溃。这是崩溃:goroutine3749[chansend]:main.CallShellCommand(0xc820016180,0xea1).../parallel.go:13+0x1bfcreatedbymain.main.../parallel.g

go - 如何为 map 平铺器执行图像抽取?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭6年前。Improvethisquestion我正在为大图像的缩放级别18-1编写map平铺。我需要对图像进行下采样,以便缩放级别17的像素在18时为4像素,18是原始分辨率,所有图block均为256x256。我将如何在Go中执行此操作? 最佳答案 看看nfnt/resize.它是一个用于调整图像大小的库(但Google也会这样告诉你):func

go - 在 go 编译器中使用 run 命令时,可执行文件会发生什么情况?

使用gobuildmyprogam.go生成一个可执行文件,这是我在使用编译器时熟悉的文件。但是,使用gorunmyprogram.go不会创建任何可执行文件并仍然运行该程序。这到底是如何工作的,是创建然后删除可执行文件,还是像解释器一样运行代码? 最佳答案 创建了一个临时可执行文件。gotest也是如此。关于gotest的文档该包构建在一个临时目录中,因此它不会干扰非测试安装。Source您还可以运行fmt.Println(os.Args[0])来查看正在创建的可执行文件。 关于go-

javascript - Go lang 执行 javascript 以检索页面中的文本

我正在尝试使用golang检索从网页动态加载的文本。要检索的文本在此页面上:https://www.protectedtext.com/testretrieve?1234此文本由密码加密,然后在客户端解密并动态加载到页面上。我已经通过选择“textarea”对象尝试使用goquery,但我无法获取文本,因为它是动态加载的。我怎样才能做到这一点?通过在Go中执行JS?它在我的chrome控制台中工作,但不知道如何在Go中执行此操作。轻量级解决方案最适合我的项目。或者可以在不修改URL的情况下存储和编辑相同文本的任何其他网站? 最佳答案

rest - 如何在 Go 中执行带有正文的 GET 请求?

我正在尝试为内部API端点编写一个客户端,该端点接受带有JSON正文的GET请求:curl-XGET-d'{"foo":"bar"}'因为我无法更改API来接受POST,所以我假设在Go中实现相同的事情是微不足道的,但我一直无法让它发挥作用。我试图在这个URLencodedPOSTrequest的例子之后模拟我的尝试但不确定我将如何更改它以使用GET请求。提前致谢 最佳答案 这最终成功了:stmt:=`{"foo":"bar"}`req,err:=http.NewRequest("GET","",bytes.NewBuffer([]