草庐IT

主程序

全部标签

go - 两个 Go 程序之间如何通信?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。ImprovethisquestionProgramwhichIamtryingtomakelikethis一共有三个GO程序,分别是Go程序1、Go程序2、Go程序3开始程序1其中从串口获取数据发送给Go程序2GO计划2接收。Go程序1的数据发送到MQTTGO计划3它应该是web框架,因为我需要WebUI来控制和管理这些GO程序1和Go程序2GoProgram3的任务是:开始停止GO程序1和2更改或设置围棋程序1的COM口并发布题目更改Go

go - 为什么 go 程序将输出打印到终端屏幕而不是/dev/stderr?

在golang源码中看到go会将输出打印到os.StderrStderr=NewFile(uintptr(syscall.Stderr),"/dev/stderr")那么为什么我在终端中使用命令gorunmain.go运行这个程序输出打印到终端屏幕,而不是/dev/stderr//main.gofuncmain(){log.Println("thisismyfirstlog")} 最佳答案 在标准的Unix/Linux终端中,stdout和stderr都连接到终端,因此输出到那里。这里有一个shell片段来阐明这一点:$echo"j

go - 如何将一个 go 程序在终端中的输出传输到另一个程序?

我想对go程序产生的输出运行grep。使用其他语言,我可以轻松做到。例如:java测试|grep世界即使将输出重定向到文件似乎也不起作用,创建的文件是空的,终端仍然打印输出。packagemainfuncmain(){println("One")println("Hello")}预期:gobuildtest.go./test|grep'el'Hello实际:gobuildtest.go./test|grep'el'OneHello 最佳答案 我发现了我的错误。来自println文档:Theprintlnbuilt-infunctio

go - 我使用 pprof 的 golang 程序分析显示内存在 std/json 包中的 json (* decodeState) objectInterface 处增加

我有一个golang程序,它使用std“encoding/json”包中的unmarshall,其大小不断增加(内存泄漏)。使用pprof的内存配置文件图显示内存在json(*decodeState)objectInterface增加。我想了解解决问题的方式和原因。我已经在上层尝试了几件事,比如释放返回值以避免泄漏,但没有成功。func(jJSONEncoding)From(b[]byte,msginterface{})(interface{},error){err:=json.Unmarshal(b,&msg)returnmsg,err}pproftop5显示了这个调用,以及下面的详

go - 无法在 Go 应用程序的另一个包中使用函数

我有一个依赖于几个包的go应用程序。但是,当我尝试构建我的应用程序时,它说导入包中的函数未定义。主包(batch.go)中的文件使用以下函数:packagemainimport("reflect"db"bitbucket.org/b***/go-db")//NewBatchcreatesanewbatchfuncNewBatch(orderID,employeeIDint64)*Batch{return&Batch{OrderID:orderID,EmployeeID:employeeID,Flag:true,}}//InsertBatchinsertsabatchandalltheu

node.js - 我不明白 golang,为什么我的应用程序不调用这个函数并且表现得不像 nodejs

我对golang完全陌生。但是我有一些来自nodejs的知识现在我想学习Go,在这里你可以看到一个应该启动网络服务器的应用程序,然后它应该向控制台打印hello。但似乎是在行之后http.ListenAndServe(":"+serverportString,nil)它完全停止了。在nodejs中它会同时运行。我这里有误会吗?下一行是sayhello()应该启动向控制台打招呼的功能。但它就在之前停止了。这里可以看到完整的代码//itshouldstartawebserveratport8080//anditshouldprinthellototheconsolepackagemaini

go - 如何连接 Go 应用程序和 Apache Solr?

我想连接我的Go应用程序和Apachesolr我手动配置了apacheSolrPath=>/home/vtrk/Solr/solr-4.9.1Solr运行完美Port:localhost:8983/solr/但我不知道如何连接我的Go应用程序。如何连接Go应用程序和ApacheSolr? 最佳答案 你可以看看这个库,看看是否能解决你的需求https://github.com/rtt/Go-Solr/ 关于go-如何连接Go应用程序和ApacheSolr?,我们在StackOverflow

go - 什么时候释放长时间运行的 Go 程序中的资源?

我正在使用GoandSocket.io构建聊天服务器因此服务器将无限期运行。我需要在程序启动时分配多个资源,例如数据库连接、redis连接等。现在我想知道什么时候应该释放(关闭)所有这些连接?我可以在main函数中使用defer吗?当main结束时会关闭它们吗?还是我应该让它们保持打开状态,因为程序不会自行退出? 最佳答案 我倾向于做的一件事是:funcmain(){iferr:=run();err!=nil{log.Fatal(err)}}funcrun()error{//Dostuffhere}在run中,您可以像往常一样def

go - Go程序"Import cycle not allowed"错误

我是Go的新手,我正在尝试制作一个程序来显示当前时间和其他一些内容://Aterribleprogram.packagemainimport("fmt""time")//greetingreturnsagreetingwithsomeinfo.funcgreeting()string{return"Helloflatworld,thetimeis:"+time.Now().String()}funcmain(){hotelName:="Trivag"hotelName+="o"fmt.Println(greeting())fmt.Println("Hotel:"+hotelName)}

string - 尝试异常替代方案以保护应用程序不崩溃

我有一个用于抓取URL的Go应用程序。问题是它有时会崩溃并返回此错误:panic:runtimeerror:sliceboundsoutofrangegoroutine1[running]:main.dom6(0x187d4140,0x8,0x187d4179,0x5,0x187c0800,0x6,0x13,0x83007cb)/root/sswork.go:326+0x6bmain.sub(0x187d4140,0x8,0x84464e0,0x6,0x6,0x187d4140,0x8,0x187d4179,0x5,0x187c0800,...)/root/sswork.go:298+