草庐IT

has_contiguous_memory

全部标签

google-app-engine - c.Infof undefined (type context.Context has no field or method Infof) google.golang.org/appengine/log 错误

在GoRuntime中,我使用方法c.Infof来记录消息,但编译失败并出现以下错误c.Infof未定义(类型context.Context没有字段或方法Infof)。错误清楚地表明从c:=appengine.NewContext(r)返回的应用引擎上下文是context.Context类型并且它上面没有方法c.Infof。但与此相反的是https://godoc.org/google.golang.org/appengine/log中的文档表明存在这种方法。还有一点需要注意,该方法存在于“appengine”(导入“appengine”)包返回的上下文中,而这似乎不存在于新包goog

memory - 戈朗 : trouble with memory

我的内存有问题。我不明白为什么当我的程序长时间运行时Go使用越来越多的内存(从不释放它)。第一次分配后,程序使用了将近9MB的内存。然后在12小时后,它开始以指数方式使用更多内存,直到800MB。//.....code.....ifbol{//AssignmentStruct.VarStruct_VastScript.TxtNoticeTop=JsonStruct_S.Options.TxtNoticeTopStruct_VastScript.TxtNoticeBottom=JsonStruct_S.Options.TxtNoticeBottomStruct_VastScript.Lo

sql - Golang 服务器 : send JSON with SQL query result that has variable number of columns

我正在使用Go服务器创建一个RESTfulAPI的小实现。我正在从URL中提取查询参数(我知道这不安全,稍后我会尝试解决这个问题,但如果您对这个主题有任何建议,它们会很有帮助)。我在3个sring变量中保存了表名、所需的列和一些条件。我正在使用这个查询:rows,_:=db.Query(fmt.Sprintf("SELECT%sFROM%sWHERE%s",columns,table,conditions))我想将查询结果作为JSON发送回我的前端。我有可变数量的未知列,所以我不能用“标准”方式来做。我能想到的一种解决方案是从查询结果和rows.Columns()中“手动”构建一个JS

go - panic : runtime error: invalid memory address or nil pointer dereference on breaking up application

我正在尝试编译我的go应用程序,但出现以下错误:panic:runtimeerror:invalidmemoryaddressornilpointerdereference[signalSIGSEGV:segmentationviolationcode=0x1addr=0x0pc=0x14d6572]goroutine1[running]:github.com/gin-gonic/gin.(*Engine).Use(0x0,0xc420201f30,0x1,0x1,0x2,0x2)/Users/jordan.kasper/go/src/github.com/gin-gonic/gin/

go - 在 GO 中重用数据库连接和 'invalid memory address' 错误

我是GO的新手,似乎找不到任何关于在全局中重用数据库连接的错误信息。这是导致错误的代码的简化版本:主要包import(_"github.com/denisenkom/go-mssqldb""database/sql")vardebug=flag.Bool("debug",false,"enabledebugging")varpassword=flag.String("password","*****","thedatabasepassword")varport*int=flag.Int("port",1433,"thedatabaseport")varserver=flag.Strin

memory-management - 如何在 Go 中分配 16GB 的内存?

我正在使用以下简单的Go代码来分配大小为1024x1024x1024的3D数组:grid=make([][][]TColor,1024)forx=0;x那个TColor结构是一个4分量的float64向量:typeTColorstruct{R,G,B,Afloat64}分配进行到一半(x=477和y=~600ish)时,最内层的make()调用出现panic...运行时:内存不足:无法分配65536字节block(17179869184正在使用中)这适用于较低的网格分辨率,即256³、128³等。现在由于结构的大小为4x4字节,因此整个网格应该正好需要16GB的内存。我的机器(open

memory-management - 如何在go中释放内存?

我有一个结构:typexyzstruct{xintystring}funcf(){x:=new(xyz)//allocatingmemory}但是我在go中找不到任何方法来释放它。在golang中不需要释放吗?有没有关于go中内存分配/解除分配的有用文档? 最佳答案 Go是垃圾回收语言。您不必释放内存。关于Go中内存分配和释放的文章。GarbagecollectionHeapandstackallocationDiscussiononallocationoptimizationVariableallocation

去生成 : stringer: invalid operation: has no field or method String

我正在尝试使用stringercmd以便我可以为某些int类型生成String()方法。这是代码的样子//go:generatestringer-type=MyIntTypetypeMyIntTypeintconst(resourceMyIntType=iota)funcmyfunc(){print(resource.String())}我在执行gogenerate命令时遇到的错误是invalidoperation:resource(constant0oftypeMyIntType)hasnofieldormethodString这是有道理的,因为还没有String方法。如果strin

memory-management - 为什么我的 Go 程序内存波动这么大?

我有一个分配大量映射和slice的Go程序。通常有很多使用、分配开销等。我运行它,它加载大量数据,然后我使用Web服务查询它。在我让它运行后,当它读入所有数据并且没有进行任何查询(即应该稳定)时,我看到内存波动。最近报道:5.42GB、5.01GB和4.3GB的实际内存。这是一个巨大的波动。我有大约1.5亿个对象(卡在主哈希表之外的slice)。那是很多小object。我预计会有一点波动(尽管我永远不会期望内存在没有分配新对象并且主线程阻塞在套接字上时增加)。可能的解释是大量小分配的开销只会乘以任何自然波动一些代码正在分配对象(虽然我看不到如何分配)GoGC正在执行自己的分页(?)我使

windows - "ConnectEx tcp: The semaphore timeout period has expired."是什么意思

我写了一个简单的go程序,它在windows上运行并测试远程端口是否处于事件状态:packagemainimport("fmt""net")funcmain(){conn,err:=net.Dial("tcp","192.168.23.191:3403")iferr!=nil{fmt.Println(err)}else{conn.Close()}}现在,远程端口已关闭。第一次运行,报错:dialtcp192.168.23.191:3403:ConnectExtcp:Theremotecomputerrefusedthenetworkconnection.然后我继续运行,报错改为:dia