草庐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

string - 类型 "string"和 "func() string"之间有什么区别?

总体而言,我对编程还很陌生,更不用说Go了……目前,我一直在尝试通过HTTP提供一些内容,并且[出于某些原因]我有一个字符串,我想将其存储在一个单独的包中,并提供它通过函数调用回到我的主项目。但是我收到一个错误(根据我更改代码的方式以各种形式出现):“字符串和func()字符串类型不匹配”这是“数据”包packageencodedjsvarbase64EncodedJSstringfuncReadEncodedJS()string{returnbase64EncodedJS}funcinit(){base64EncodedJS="data:text/javascript;base64,

go - 在 Golang 中将字符串放在两个 % 之间

我在Golang中有一个名为mystring的字符串,我想将它放在2个百分号之间(例如%mystring%)。但是直到现在我还做不到。我尝试过的是:value:=fmt.Sprintf("%%s%",mystring)value:=fmt.Sprintf("%s%s%s","%",mystring,"%")value:=fmt.Sprintf("/%%s/%",mystring)但是当我打印它时,最后我收到了一个nil。示例:mystring的值为“HelloWorld”然后我得到:%HelloWorld%nil现在我收到了这个结果:/%s/%!(NOVERB)%!(EXTRAstri

c - C 和 GO 之间的图像大小不匹配

读取图像并计算其字节大小在C和Go中产生不同的结果:使用相同的图像,这是我在c中的readFile函数:FILE*inputFile=fopen(inputFilename,"rb");if(inputFile==NULL){printf("cannotopenfile%s",inputFilename);return0;}else{fseek(inputFile,0,SEEK_END);longfsize=ftell(inputFile);rewind(inputFile);return(fsize);}在Go中,相同的图像://requeststhesameimageasabove

go - 谁能举例说明 panic 和 error 之间的确切区别以及何时在 go 中使用它们?

我已经研究了panic和error之间的区别很长时间了,但不幸的是我还没有找到确切的答案。谁能帮忙? 最佳答案 可以这样想:panic()(一个动词)是一个Actionerror(一个名词)是一个实体一旦遇到错误,您可以对其进行处理(panic()ing只是这里众多选项之一,其他选项会忽略错误,返回错误给调用者或采取一些其他错误特定操作)请注意,您不一定需要error才能panic()。 关于go-谁能举例说明panic和error之间的确切区别以及何时在go中使用它们?,我们在Stac

pointers - 如何在 Go 中引用具有相同功能的多个库并在它们之间内联切换

我想知道如何做类似的事情。我目前有多个具有相同结构和功能的包,但它们实际上从多个API检索值。我还加载了一个配置,该配置具有一个带有参数的数组,以便每个数组项使用这些包之一。我想知道如何根据配置值创建一个使用这些包之一的变量。希望这已经足够清楚了。这是我编写的用于解释的伪代码。提前致谢packagemainimport("errors""flag""os""project/lib""project/morelib""project/extralib""fmt""math""math/rand""time")funcstuff(infoRunInfo)(errerror){apiKey:

java - java与go之间的RSA加解密

在java中我用RSA加密了一个字符串:“你好,我是明文字符串!@sina.com”然后得到:kkkHf5QSXx8aDadk66AOysmV8LOi4vWUANal+7KV6va/5ZR7PSWGRS5bzbK4vMyK9FA5CLQolr2NB6ouPNWpgq3Af7Pn/f45+pDtKRsBLX8+q/Mw7TOYR525e7nVePDBLM2wLQZ4Gh5QMQzEI3Me3Zc3030jRg0gEG13N/1EzMo=但是我试了很多方法都无法在go中解密。有什么问题?任何帮助将不胜感激,谢谢。这是我的代码:Java:publicstaticvoidmain(String

go - 我想在 goroutines 之间通信并无限期地阻塞主线程

我如何阻止mainfunc并允许goroutines通过channel进行通信以下代码示例会抛出错误0fatalerror:所有goroutines都睡着了-死锁!packagemainimport("fmt""time")funcmain(){ch:=make(chanint)gofunc(){value:= 最佳答案 我想你想打印所有值[0:99]。然后你需要在第一个goroutine中循环。另外,你需要传递信号来打破循环funcmain(){ch:=make(chanint)stopProgram:=make(chanbool

go - 为什么 golang 在 slice 和 map 之间的 `[]` 运算符上实现不同的行为?

这个问题在这里已经有了答案:Whyaremapvaluesnotaddressable?(2个答案)关闭4年前。typeSstruct{eint}funcmain(){a:=[]S{{1}}a[0].e=2b:=map[int]S{0:{1}}b[0].e=2//error}a[0]是可寻址的,但b[0]不是。我知道第一个0是一个索引,第二个0是一个键。为什么golang会这样实现?有什么进一步的考虑吗?我已经阅读了github.com/golang/go/src/runtime中map的源代码如果maxKeySize和maxValueSize足够小,并且映射结构已经支持indirec

pointers - 不同类型的指针之间有什么区别?

指针指向内存中的一个位置。据我所知,实际上所有内存地址都具有相同的类型,与变量类型无关。除了使用不同的指针类型(*int、*string等),是否可以只使用一种类型(varppointer)所有指针类型?不同的指针类型有什么区别?packagemainimport"fmt"funcmain(){i:=5s:="abc"varpi*int//alternativelyvarpipointervarps*string//alternativelyvarpspointerpi=&ips=&sfmt.Printf("%p%p",pi,ps)//resultis0x1040e0f80x1040a