草庐IT

主程序

全部标签

正则表达式结束修饰符不在 Go 程序中返回结果

我有一个简单的Go程序来帮助学习正则表达式。它在无限循环中运行并有2个channel,一个用于提供输入(输入包含正则表达式模式和主题),第二个channel提供输出。usage:main.exe(cat)+catcatdog但是代码中可能有问题,因为我似乎无法使用$修饰符获得任何结果。例如,我希望输出“cat”main.execat$cat\ndog但收到零结果。代码:packagemainimport("fmt""regexp""bufio""os""strings")typeRegexRequeststruct{regexstringsubjectstring}funcmain()

linux - 在多个 Golang 程序之间传递配置值

我对在多个golang程序之间传递配置值很感兴趣。我已经尝试过环境变量,但除了设置它们的程序外,其他程序无法读取它们。我已经测试过,我确定环境变量正在设置,并且可以在设置它的同一进程中读取。此外,如果我通过第一个过程调用第二个过程,它将打印出来:packagemainimport("bufio""fmt""os")funcmain(){os.Setenv("AVARIABLE","12345")reader:=bufio.NewReader(os.Stdin)fmt.Print("Entertext:")_,_=reader.ReadString('\n')fmt.Println("e

multithreading - sync.Mutex在并发Golang程序中是如何工作的

在Go中使用并发程序时,我们使用varmutexsync.Mutex然后如果我们必须编写执行一些同步代码块,我们调用mutex.Lock()和mutex.Unlock()。现在我在这里有一些疑问:1)是否只有一个mutex实例,即如果mutex用于锁定CodeBlockA的操作,同时还有其他一些goroutineB必须将它用于其他一些也使用mutex的CodeBlockB,goroutineB是否会被阻塞,直到goroutineA解除互斥体。2)是否有可能我们可以有更多的静音实例来保护它们自己的专用代码块。 最佳答案 在编写示例代码

ubuntu - 如何一次运行多个存在于不同目录中的 go 程序?

我有不同的目录,例如DBconnection、APIRequest、APIResponse等。所有代码都是相互关联的。我怎样才能一次运行这些。gorun.go需要存在于目录中的所有文件中。但是我有多个目录。任何形式的帮助或建议将不胜感激 最佳答案 如果我正确理解你的问题:你可以编写一个小的shell脚本来一个接一个地执行它们:#!/usr/bin/envbashgorun/ParentPath/DBconnection/execfile.gogorun/ParentPath/APIRequest/execfile.gogorun/P

go - k8s oidc 问题与帮助程序包 (k8s-oidc-helper : command not found)

我在安装go时遇到了k8s-oidc-helper包的问题。但是,当我用它运行任何命令时,它会给出命令未找到错误。我在ubuntu16.04VM上运行它。我该如何解决这个问题? 最佳答案 我已经解决了这个问题。`go'的路径集不正确我检查了go的环境并相应地设置了路径。exportGOPATH=/usr/lib/goexportPATH=$PATH:$GOPATH/binsudogoget-ugithub.com/micahhausler/k8s-oidc-helper现在帮助程序包可以工作了

Golang 程序泄漏内存

我正在尝试编写一个简单的程序,其行为类似于find|在golang中grep。我的程序都使用以下模式使用goroutines工作:goroutine(filech每个filech文件的goroutine(grepch这一切都按预期工作,但是当出现大量文件时,内存只会不断增长。我研究了Go提供的一些分析工具,但我不知道如何找到我的内存泄漏。我可以说内存主要被bytes.makeSlice用完了。谁能看看下面的代码,看看我做错了什么?另外,我想知道我的代码有什么问题,但我也想学习如何在未来自己调试它,所以如果你能为这样的问题提供详细的分析说明,那就是非常感谢。packagemainimpo

go - 一个go代码程序后台运行失败

后台运行的Go代码我是go语言的初学者。我写了一个发出键盘声音的小程序。gobuildmain.go后,可以在当前shell中听到按钮的声音。但是当在后台运行./main或重新打开一个新的shell时,将听不到按钮的声音。这就是我需要帮助的地方。packagemainimport("fmt""github.com/eiannone/keyboard""github.com/faiface/beep""github.com/faiface/beep/speaker""github.com/faiface/beep/wav""os""time""log""path/filepath")fu

go > 如何从 main 重构 http 处理程序

我正在学习go语言,知识还有些欠缺。我正在编写http静态服务器(在第一阶段为Assets提供服务)。我也在尝试使用gorilla/mux包作为路由器。到目前为止我结束了pagekagemainimport("fmt""github.com/gorilla/mux""html""net/http")funcHomeHandler(whttp.ResponseWriter,r*http.Request){fmt.Fprintf(w,"Hello,%q",html.EscapeString(r.URL.Path))}funcmain(){r:=mux.NewRouter()r.Handle

html - 如果点击了外部 URL,我们可以重新定向到我们的应用程序吗

我正在使用go-gin及其html模板渲染引擎,但这个问题是通用的。我的应用程序在https://localhost:8080/login处有一个登录页面.我在我的应用程序中使用第三方url,它将我重定向到另一个url。(例如:https://example.com)。如果https://example.com被命中,我如何强制重定向到https://localhost:8080/login? 最佳答案 外部URL(从您的服务器外部链接到站点)不能重定向到本地主机。您必须使用您的服务器IP而不是https://localhost:8

bash - 将命令作为输入并在终端中运行的程序

我有点知道如何在C中执行此操作,但如何在Go中执行此操作?这是我正在使用的代码:#include#include#include#defineMAX_CMN_LEN100intmain(intargc,char*argv[]){charcmd[MAX_CMN_LEN]="",**p;if(argc 最佳答案 像这样:packagemainimport("os""os/exec")funcmain(){iflen(os.Args) 关于bash-将命令作为输入并在终端中运行的程序,我们在S