草庐IT

read-eval-print-loop

全部标签

戈朗 : Hello world doesn't print to screen and program doesnt exit

当我使用命令“go.exerunmain.go”运行以下代码时,程序不会在屏幕上打印文本或退出。packagemainimport"fmt"funcmain(){fmt.Println("Helloworld")}go.exe版本=go版本go.1.5.1windows/amd64设置GOARCH=386设置GOBIN=设置GOEXE=.exe设置GOHOSTARCH=386设置GOHOSTOS=windows设置GOOS=windows设置GOPATH=C:\project设置GORACE=设置GOROOT=C:\Go设置GOTOOLDIR=C:\Go\pkg\tool\window

loops - Golang和结构数组的结构

我为电影和电视节目定义了以下结构:typeMoviestruct{IDstring`json:"id"`Viewersint`json:"count"`}typeTVShowstruct{IDstring`json:"id"`Seasonint`json:"season"`Episodeint`json:"episode"`Viewersint`json:"count"`}然后,我具有以下结构,其中包含按国家/地区显示的几部电影或电视节目:typeMoviesstruct{PenultimateMonthmap[string][]MovieLastMonthmap[string][]M

multithreading - goto out of main 和 print threads 的定义

我有两个关于Go代码的问题。这是我的程序。该程序控制昵称在“数据库”中的存在。packagemainimport"fmt"funcrcv(){ifr:=recover();r!=nil{fmt.Println("retry.")main()}}funcmain(){deferrcv()INSERT:fmt.Println("Insertanickname:")varsstringfmt.Scanln(&s)switch{caselen(s)我的问题是:使用恢复函数(rcv()),在它结束时,调用的main()像另一个线程一样运行?主体main()函数在第二个执行时结束,或者每当引发pa

go - fatal error : concurrent map read and map write

fatalerror:concurrentmapreadandmapwritegoroutine5065809[running]:runtime.throw(0x6b4281,0x21)/usr/local/go/src/runtime/panic.go:566+0x95fp=0xc420c05670sp=0xc420c05650runtime.mapaccess1_faststr(0x65ea20,0xc420015020,0xc42178ea8e,0x16,0x0)/usr/local/go/src/runtime/hashmap_fast.go:201+0x4f3fp=0xc42

loops - for循环中的索引超出范围(重复)

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我正在尝试将字符串值与slice中的值进行比较,在我的例子中,slice是tagsList。我必须在这个比较上做一些功能。请找到我的以下代码。vartaglistlength=len(tagsList)vartagFlagboolvariintvarreEmplKeystringtypesaveDe

sql-server - Golang 连接到 SQL Server 错误 - "TLS Handshake failed: Cannot read handshake packet: EOF"

我编写了一个系统,可以自动在MicrosoftAzure上部署VM,在上面安装SqlServer,然后针对新安装的服务器执行.sql脚本以初始化环境。周五,这一切都按预期进行。今天,我遇到了这个错误。我的代码具有以下相关导入:import("database/sql"_"github.com/denisenkom/go-mssqldb")并使用以下代码在安装后实际连接到数据库(为简洁起见删除了错误处理)://variablesconnectionString:="sqlserver://MasterUser:MasterPassword@xx.xx.xx.xxx:1433"dbName

戈朗 : why does the word "hello" loop 5 times while the word "world" loops only 4?

这个问题在这里已经有了答案:Nooutputfromgoroutine(3个答案)关闭7年前。packagemainimport("fmt""time")funcsay(sstring){fori:=0;i运行代码,输出为:helloworldhelloworldhelloworldhelloworldhello在前4个循环中,每100毫秒,将打印一个“hello”,然后打印一个“world”。并且在最后一个循环中只会打印一个“hello”。有没有人可以解释一下代码的执行顺序是什么?

go - conn.Read 在通过其他 go 例程关闭 conn 时进入无限循环

我的代码有点复杂,但简单来说,它有多个go例程,所有都调用不同的TCP服务器,并在流中出现可读消息时在for循环中读取输入。到目前为止,一切都很好。现在有另一个go例程来管理之前的一堆“客户端”并在用户需要时关闭它们。为此,我将每个“conn”与适当的goroutine客户端相关联并关闭它。我面临的问题是,只要我调用任何conn对象的close函数,其对应的Read函数就会进入无限循环,不断读取空字符串。我写了一个简单的代码,类似于我在多个go例程中处理连接的方式-https://play.golang.org/p/wq7zt9Kqz7长话短说简而言之,我有一个“类”,它代表一个远程服

for-loop - 在 golang 中写 while (for) 的更好方法

我正在研究一个while循环,它是Go中的一个for,如下面的代码ele=path.Dir(str)forele!="."{functionA()ele=path.Dir(ele)ifele=="."{functionA()functionB()}}在上面的代码中,您可以看到我根据while(for)中的条件调用了functionA两次有没有更好更简洁的方法来做到这一点? 最佳答案 这是执行相同任务的稍微不同的方式。更新:更新了答案以反射(reflect)新要求。ele:=path.Dir(str)ifele=="."{return

go - fmt.Print(myError) 没有隐式调用 Error()?

我想打印我的自定义错误结构中的所有内容,例如fmt.Print()打印任何其他结构,但由于它实现了error它只打印一个字段,我通过Error()传递了一个。我该怎么做? 最佳答案 您可以将error接口(interface)类型断言到您的自定义类型。请注意,理想情况下,您应该在执行此操作时使用“comma,ok”习惯用法,否则如果类型断言失败,您的应用程序将崩溃。packagemainimport"fmt"typeMyErrorstruct{StatusintMessagestring}func(eMyError)Error()s