jjzjj

go - golang执行 'docker run..'异常退出

不确定为什么会这样,当我运行时dockerbuild–tmy-app.dockerrun-p8000:8000-dmy-app它立即退出dockerps-a输出:CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESb7ede6791bafmy-app"./app"8secondsagoExited(0)7secondsagoadoring_einstein我的Dockerfile:FROMgolang:1.8RUNmkdir-p/appWORKDIR/appADD./appRUNgobuild./app.goCMD["./app"]我在Mac上。

go - 独立安装文件,例如 go run myfile.go

我有一个go项目,它由项目文件夹中的单独文件(每个文件都有一个主要功能)组成。最初它打算作为gorunfile1.go运行。但是现在我需要像常规项目一样为它构建。为每个文件创建单独的项目感觉很愚蠢。gorun将输入文件编译成临时可执行文件并执行它。gorun执行的编译步骤是什么。我需要将不同的文件安装为单独的可执行文件(名称由我指定)。任何人都可以提供有关如何执行此操作的步骤。谢谢。 最佳答案 如评论中所示,您可以使用goinstall./...如果您的工作目录不是所有包当前所在的位置,请使用goinstallpath/to/you

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

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

go - 编译二进制比运行慢 "go run"

我正在尝试解决代码谜题的出现(所以对于那些还没有完成第一天的人来说剧透警告),我遇到了一些我无法理解的事情。我有一个函数,它根据其他一些数字列表生成一个数字列表,并返回第二次遇到的第一个数字:funcfindFirstDoubleFrequency(freqs[]int)int{seen:=map[int]bool{0:true}freq:=0for{for_,f:=rangefreqs{freq+=fifseen[freq]==true{returnfreq}seen[freq]=true}}}当我使用gorun运行我的代码时,函数需要约15毫秒才能完成。但是,当我使用gobuild

go - 使用 go run 的路径不适用于 go install/从 bin 调用可执行文件

我开始尝试使用Go,但我正面临一个(我认为)在使用虚拟机的语言中不存在的问题。我有一个src/test/main.go文件,它引用了我在src/test/views/文件夹中的模板。当我使用gorunmain.go时,它会运行,但是当我执行goinstall时,然后在我的bin文件夹中运行可执行文件(./test)我得到一个错误:views/edit.html:nosuchfileordirectory那么,Go如何编译我的项目(文件/文件夹结构相关)以及如何以允许我使用gorun和goinstall/executable? 最佳答案

go - 我应该用 go run 运行服务器吗?或 ./main 有什么区别?

我有一个go服务器,我通常这样运行:开始构建。&&./main但是在网上我看到很多使用gorun的例子。哪个更好用,有什么区别? 最佳答案 来自官方文档(go1.11):gorun-编译并运行指定的主Go包。gobuild-编译由导入路径命名的包,连同它们的依赖项,但它不会安装结果。goinstall-编译并安装由导入路径命名的包。意思是:通常对于LOCAL环境,可以使用gorun,但对于PROD环境,最好使用gobuild构建您的应用并运行./main,但是如果你需要Go工具链,你必须使用goinstall因为它会安装包和依赖项并

go - 使用 exec.Cmd.Run() 运行命令时如何获取所有输出行?

我正在使用glide管理对我的项目的依赖。我创建了一个脚本,为我运行gotest$(glidenovendor)(测试所有目录,不包括vendor/目录)。虽然它有效,但运行命令的输出不会超出第一行:okmy/project/scripts0.005s这是运行它的脚本部分://Getthepathstotest(excludingthe"vendor/"directory)cmd:=exec.Command("glide","novendor")varoutbytes.Buffercmd.Stdout=&outerr=cmd.Run()iferr!=nil{log.Fatal("Cou

go - "go run"使用 sublime text 3 进入无限循环

我正在尝试在sublimetext3中运行go代码。packagemainimport("fmt")funcmain(){fmt.Println("Hello,playground")}但是,当我进入Tools->Build下时,我看到程序进入了无限循环。GoSublimer17.03.05-19o:type`help`forhelpandcommanddocumentation[`gorunmain.go`⌛][~/Documents/SublimeWorkspace/]#请让我知道我在这里可能遗漏了什么。 最佳答案 打开subl

go - 如何修复 `kafka: client has run out of available brokers to talk to (Is your cluster reachable?)` 错误

我正在开发一个应用程序,该应用程序从sqs队列中读取一条消息,对该数据执行一些操作,然后获取结果并将其发布到kafka主题。为了在本地进行测试,我想在我的docker构建中设置一个kafka图像。我目前能够使用docker-compose在本地启动aws-cli、localstack和我的应用程序的容器。另外,我也可以毫无问题地启动kafka和zookeper。我无法让我的应用程序与kafka通信。我试过使用两个单独的撰写文件,也尝试过网络。最后,我引用了:https://rmoff.net/2018/08/02/kafka-listeners-explained/。这是我的docke

使用 Cloud Run 的内部 CLI 的 Google Cloud Auth

我们使用CloudRun构建了多项服务。我们的目标是构建一个内部CLI,允许我们的开发人员调用这些服务。我们在生成id_token以与位于CloudRun服务前面的IdentityAwareProxy一起使用时遇到问题。根据文档,可以使用gcloud和gcloudauthprint-identity-token命令调用您的CloudRun服务。这很好用。这也避免了必须下载服务帐户凭据并将其传递给我们的开发人员,因为此方法会利用您的应用程序默认凭据。我们已经尝试在Go中实现一些东西来复制此print-identity-token功能,但没有成功。生成的id_token向我们所有的Clou