草庐IT

go-mocket

全部标签

go - 是否有一种快捷方式可以将变量分配给指针而无需首先在单独的行中创建变量?

如果我有这样的结构:typeMessagestruct{Idint64MessagestringReplyTo*int64}然后如果我确实像这样创建了这个结构的实例:varmMessagem.Id=1m.Message="foobaryo"varreplyTo=int64(64)m.ReplyTo=&replyTo然后它就可以工作了。但是我想知道最后一步是否有捷径?我试过做类似的事情:m.ReplyTo=&int64{64}但是没有用。 最佳答案 我不认为你可以,因为该值是一个原始值,并且尝试像下面这样一次完成它会是一个语法错误。它

go - 将 JSON 嵌套字段值解码为结构字段

//Giventhefollowingstruct:typeMyStructstruct{FirststringSecondstringThirdstring}//IwouldliketounmarshalthefollowingJSONintoMyStructsuchas:bytes:=[]byte({{"first":{"href":"http://some/resources/1"},"second":{"href":"http://http://some/resources/2"},"third":{"href":"http://some/resources/3"}})vars

go - 在结构(析构函数)变量上设置延迟的位置

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭7年前。Improvethisquestion我有一个带有数据库session变量的结构。我应该在哪里设置/调用延迟-就像构造函数/析构函数?typeMyTypestruct{session*gocql.Session}我正在附加*gocql.Session的实例,它应该与结构一样长。func(this*myType)function_one_using_the_session(){}func(this*myType)function_two

json - 在 Go 中,为什么 JSON null 有时不会传递给 UnmarshalJSON 进行解码?

Go提供了encoding/json.Unmarshaler接口(interface),因此类型可以控制它们从JSON解码的方式。在几乎所有情况下,编码后的JSON值都直接传递给UnmarshalJSON方法,但如果Unmarshaler是一个指针并且JSON值为null。在这种情况下,指针设置为nil而根本不调用UnmarshalJSON。这是一个例子:packagemainimport("encoding/json""fmt")typeTstringfunc(v*T)UnmarshalJSON(b[]byte)error{ifb[0]=='n'{*v="null"}else{*v=

go - 未导出的标识符包在 Golang 中是否公开?

正如题主所说,未导出的标识符在Golang中packagepublic吗?我读了spec但找不到任何东西。编译器似乎将未导出的函数名称视为文件私有(private)(而不是包公共(public))。 最佳答案 所有顶级常量、类型变量和函数都具有包范围。这包括这些类型的未导出标识符。确切的languagefromthespecificationis:Thescopeofanidentifierdenotingaconstant,type,variable,orfunction(butnotmethod)declaredattoplev

go - 如何用指针类型的匿名成员初始化 Go 结构?

用匿名成员初始化结构的正常方法是这样的:packagemainimport"fmt"typeAAstruct{intxxstring}funcmain(){a:=&AA{int:1,xx:"2",}fmt.Println(a)//&{12}}但是,如果类型是指针,就不能再这样做了packagemainimport"fmt"typeAAstruct{*intxxstring}funcmain(){i:=1a:=&AA{*int:&i,xx:"2",}fmt.Println(a)}//.\hello.go:14:invalidfieldname*intinstructinitializer

go - 在 golang 中,我的 go 例程使用了所有内核,但每个内核只使用了 50% 到 75%

我使用的是go语言的go1.5.3linux/amd64版本。我有一个执行需要一些时间的数学运算的例程。每个goroutine独立行动,不必阻塞。我的系统有12个核心。如果我生成12个go例程,它只需要所有内核的平均使用率高达31%。如果我使用24个go例程,它会使所有内核的平均使用率达到49%。如果我使用240,我得到77%。2400给了我76%。显然,rand.Intn(j)操作正在减慢它的速度。没有它,内核将以100%的速度运行。funcDoSomeMath()int{k:=0fori:=0;i如何让程序在使用RNG时100%使用所有内核? 最佳答案

go - 执行大量 I/O 的 go 程序崩溃

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion我正在尝试使用Go并行写入100000个文件。我不确定为什么,但是当我使用argv参数“100000”调用它时,下面这段代码大约有30%的时间崩溃。这是崩溃:goroutine3749[chansend]:main.CallShellCommand(0xc820016180,0xea1).../parallel.go:13+0x1bfcreatedbymain.main.../parallel.g

go - 如何为 map 平铺器执行图像抽取?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭6年前。Improvethisquestion我正在为大图像的缩放级别18-1编写map平铺。我需要对图像进行下采样,以便缩放级别17的像素在18时为4像素,18是原始分辨率,所有图block均为256x256。我将如何在Go中执行此操作? 最佳答案 看看nfnt/resize.它是一个用于调整图像大小的库(但Google也会这样告诉你):func

go - 我的主文件找不到我创建的导入到主文件中的另一个文件

我有以下文件结构:-project/-src/-main/-main.go-viewmodels/-home.go-public/我的项目位于:~/go/src/当我试图运行我的主文件时它抛出错误:src/main/main.go:10:2:cannotfindpackage"viewmodels"inanyof:/usr/local/Cellar/go/1.5.3/libexec/src/viewmodels(from$GOROOT)/Users/nicholasrucci/go/src/viewmodels(from$GOPATH)看起来main正在错误的位置寻找packagevi