草庐IT

主程序

全部标签

go - 从 Go 程序中获取保留字列表

我正在编写我的第一个golang生成器,并希望确保某些字符串不是保留关键字。我应该从规范中复制关键字以进行检查还是有人知道更好的方法? 最佳答案 您可以使用go/token中的IsKeyword方法包裹。例如:token.Lookup("hello").IsKeyword()//falsetoken.Lookup("func").IsKeyword()//truePlayground 关于go-从Go程序中获取保留字列表,我们在StackOverflow上找到一个类似的问题:

Go 程序在 WIndows 7 中无法运行

我正在使用这个程序来创建一个单链表并打印列表的元素。它在我的Mac上工作,但当我在Windows7中尝试相同的程序时,它没有按预期工作。有人可以确定这里有什么问题吗?//Createasinglelinkedlistanddisplayelementsoflistpackagemainimport"fmt"//NodestructuretypeNodestruct{ValueintNext*Node}funcmain(){varvalueintvarhead,current*Node//Createlinkedlistfori:=0;i输出E:\go>gorunlinked_list.

nginx - 使用代理服务器在 Golang 应用程序之间切换

我有一台装有CentOS的服务器,在那里我将至少运行4个Golang应用程序,每个应用程序都是一个不同的站点,我应该能够在浏览器中使用域/子域访问这些站点,如下所示:dev00.mysite.comdev01.mysite.comdev02.mysite.comdev03.mysite.com因此,我需要配置某种软件,将请求重定向到正确的Golang进程。每个站点都将在不同的端口上运行,例如,如果有人调用dev00.mysite.com,我应该能够将该请求发送到dev00站点的进程(这是为了开发porpouses,而不是生产)。所以,在这里我开始相信我在阅读时需要Nginx或Caddy

go - 使用 gogland 在主包上运行/调试带有多个文件的 go 应用程序

我下载了最新的Gogland以运行/调试Go1.8.1应用程序。我在最新的IntellijUltimateEAP中遇到了确切的问题。我的项目的main包包含几个文件,当我尝试将它作为GoApplication运行/调试时,它充当GoSingleFile.这意味着当我尝试在选择主go文件的同时运行应用程序时,它会提示缺少同一目录中其他文件的变量定义,这些文件也在main包中。在RunConfiguration中,当我选择Package而不是File时,我无法选择main包。那么如何正确运行/调试我的项目?谢谢!:) 最佳答案 我创建了

go - 如何解释这个程序实现接口(interface)

https://play.golang.org/p/LHkVGzmC7N看看这个来源。特别是这个废料:bw:=NewWriter(b)w,ok:=bw.wr.(io.ReaderFrom)不明白b是bytes元素,NewWrite()取一个io.Writer。和bw.wr.(io.ReaderFrom),怎么用?“.(io.ReaderFrom)”的函数是什么意思?和fmt.Println(w.ReadFrom(s))w是io.write,在io/io.go中ReadFrom(s)是接口(interface)。typeReaderFrominterface{ReadFrom(rRead

GCC 无法编译 Go 程序

我使用2D游戏库用Go编写了一个非常简单的程序。packagemainimport("github.com/hajimehoshi/ebiten""github.com/hajimehoshi/ebiten/ebitenutil")constscreenWidth,screenHeight=320,240funcupdate(screen*ebiten.Image)error{ebitenutil.DebugPrint(screen,"Gametest")returnnil;}funcmain(){iferr:=ebiten.Run(update,screenWidth,screenH

go - 如何为包含 DB conn 之类的应用程序包设置全局配置?

到目前为止,我已经在两个包中构建了我的应用程序-main和app在我的main()中,我启动我的服务器:funcmain(){router:=app.CreateRouter(app.Routes())log.Fatal(http.ListenAndServe(":8080",router))}在应用程序中,我有一个Config结构,它有一个方法connectToDB:typeConfigstruct{DB*sql.DB}func(c*Config)connectToDB(){connectionString:=fmt.Sprintf("user=%spassword=%sdbname

go - 此 Golang 程序中 map 范围内的顺序行为

这个问题在这里已经有了答案:Go:whatdeterminestheiterationorderformapkeys?(4个答案)关闭9个月前。我是一名初级程序员,浏览了一些GitHub存储库并发现了这个简单的经典fizzbuzzimplementation使用map。但是,当我运行它几次时,它会打印出buzzfizz当isMultiple是true对于3和5.例如,偶尔使用值15或60它可能会打印buzzfizz而不是fizzbuzz这对我来说似乎不一致,让我很想修复它。有人可以解释为什么会发生这种情况以及我在这里缺少什么吗?这仅仅是一种语言行为还是可以针对这种一致性改进代码?pac

firebase - 如何传递应用程序功能?

在main中,应用程序是这样启动的://...funcmain(){initializeAppDefault()golib.GetData()http.HandleFunc("/_ah/somepoint",lib.SomeHandler)//..funcinitializeAppDefault()*firebase.App{//[STARTinitialize_app_default]app,err:=firebase.NewApp(context.Background(),nil)iferr!=nil{log.Fatalf("errorinitializingapp:%v\n",e

go - 如何在程序运行时安全地交换内存映射?

我有一个正在运行的go服务,它在内存中有一个map,比如map1。map数据(键和值)依赖于存储在S3中的文件。一个goroutine正在运行以监控这个文件,如果有变化,下载文件,解析它,并创建一个新的map,比如map2。如何在不导致其他线程读取不一致数据的情况下交换map1和map2的内容?下面我大致了解了我是如何考虑解决这个问题的。以下程序的输出是“map1-a”序列,后跟“map2-a”序列。map换了。这是最好的方法吗?packagemainimport("fmt""time")funcinitializeAndMonitor()*map[string]string{map1