草庐IT

main-folder

全部标签

go - main 函数是否运行一个 goroutine?

main()函数是goroutine吗?例如,我看到了如下所示的崩溃堆栈跟踪,这让我想问:goroutine1[running]:main.binarySearch(0x0,0x61,0x43,0xc420043e70,0x19,0x19,0x10)/home/---/go/src/github.com/----/sumnum.go:22+0x80main.main()/home/---/go/src/github.com/---/sumnum.go:13+0xc1exitstatus2 最佳答案 Isthemainfunction

amazon-web-services - 拥有多个 main.go 文件以部署基于 AWS Lambda 的应用程序

我有以下复杂的结构:utils:-utils.gofunction1:pkg1_specific_to_fn1:-pkg1_specific_to_fn1.gopkg2_specific_to_fn1:-pkg2_specific_to_fn1.gomain.gofunction2:pkg1_specific_to_fn1:-pkg1_specific_to_fn2.gopkg2_specific_to_fn1:-pkg2_specific_to_fn2.gomain.gofunction3:pkg1_specific_to_fn1:-pkg1_specific_to_fn3.gopk

Golang func main() 在 main 以外的包中?

以helloworld为例,包名是main,还有funcmain()语句。但是我也看到了funcmain()的代码,它在其他一些包中。然而,该代码似乎可以用作独立程序。那么,funcmain()的包语句不是packagemain是什么意思? 最佳答案 Go编程语言由其规范定义。TheGoProgrammingLanguageSpecificationProgramexecutionAcompleteprogramiscreatedbylinkingasingle,unimportedpackagecalledthemainpacka

testing - 如何从 "main()"测试 "go test"例程?

我想通过编写一些专注于测试整个二进制文件的反回归测试来锁定我的golang程序面向用户的命令行API。测试“二进制整体”意味着go-test应该:能够将STDIN提供给我的二进制文件能够检查我的二进制文件是否生成正确的STDOUT能够确保二进制文件正确处理错误情况但是,我不清楚在go中执行此操作的最佳做​​法是什么?如果有一个好的go测试示例,您能指点我吗?附言过去我一直在使用autotools。我正在寻找类似于AT_CHECK的东西,例如:AT_CHECK([echo"XXX"|my_binary-earg1-farg2],[1],[],[-fand-ecan'tbeusedtoge

go - 如何在 main 之外使用 Logger

我正在使用记录器包github.com/jcelliott/lumber用于登录,我这样声明和使用它:funcmain(){log:=lumber.NewConsoleLogger(lumber.DEBUG)...log.Error("Fileerror:%v\n",e)}如何从main之外的函数登录?显然这里的日志是在main中声明的,这限制了它的范围,但我还没有找到在GO中拥有全局变量的方法,有没有比在每个函数中重新声明记录器更好的方法? 最佳答案 像这样声明你的全局变量:varloglumber.LoggerfuncanyFu

go - 如何在golan main函数中调用一个没有输入和输出的函数?

我有一个简单的main.go文件如下:packagemainimport"fmt"funcinit(){fmt.Println("init!")}funcmain(){//init()fmt.Println("main")}当我运行这个程序时,我看到以下输出!initmain我完全糊涂了!我猜这两个带有func()签名的函数都作为入口点运行。但是,更有趣的是,我无法调用main中的init函数!任何人都可以向我解释这段代码有什么问题吗? 最佳答案 init是一个specialnameforafunctionthatinitializ

go - 可执行文件 ("main"包中的公共(public)名称)

据我了解,大写的名称在导入包时被导出(公共(public))。但是,由于可执行文件(“主”包)是运行的而不是被其他包导入,那么名称是否公开有什么区别呢?原则上我应该将所有名称设为私有(private)吗? 最佳答案 简短的回答是:没关系。也许在汇编级别上可能有一个暴露的指针;但是,还没有说明。实际上,关于godoc和公开(大写)字母的评论是错误的。对于可执行文件(packagemain),godoc只打印包的//头描述。它不会打印任何方法。我最近尝试了这个,想知道我的所有文档在哪里。相反,人们为packagemain应用程序所做的是

Heroku Golang - 找不到命令 'main'

我在Heroku上获得了一个GoAPI,我向其推送了一些代码;在我的procfile中,我有以下内容web:main为了在Heroku端启动Go构建的二进制文件。当我用在我这边构建它时gobuildcmd/main.go它在我的项目根目录中生成一个名为“main”的二进制文件并按预期工作,但在Heroku上我得到了app[web.1]:bash:main:NosuchfileordirectoryHeroku上的构建过程看起来不错,它找到我所有的依赖项并安装/编译它们。 最佳答案 一旦意识到这一点,这就super简单了;Allmai

git - 为 Symfony2 项目 : why add web/bundles folder to gitignore 设置 GIT

我正在构建我的第一个Symfony2项目,我可能对web/bundles文件夹的用途感到困惑。根据Symfony2文档,他们说这是静态数据(如js库、css和图像)所在的位置。这一切都是有道理的,但是当您仍在构建基本布局时,将/web/bundles放在忽略列表中是不是有点烦人?事实上,为什么还要将它放在忽略列表中?Bootstrap、参数、缓存等都可以忽略,因为您不想将开发设置与生产设置交叉。这是symfony指示您添加到gitignore的内容:/web/bundles//app/bootstrap*/app/cache/*/app/logs/*/vendor//app/confi

c - fgets() 在 main() 之外表现出意外

我正在尝试在名为“a_function()”的函数中运行fgets()。inta_function(){char*str;FILE*fp;fp=fopen("./file.txt","r");if(NULL!=fp){fgets(str,6,fp);printf("%s\n",str);}else{printf("cannotfindfile\n");return1;}return0;}intmain(void){a_function();return0;}然而,这样做会导致在调用fgets()函数时发生段错误。有趣的是,我可以将我的代码从a_function逐字复制到我的main()