草庐IT

mongo_rows_struct

全部标签

struct - 为什么将结构传递给当前包中带有文字结构参数的函数不同于另一个包中的函数?

这很有效:packagemainimport"fmt"typeStructstruct{fieldstring}funcFn(argstruct{fieldstring}){fmt.Println(arg)}funcmain(){Fn(Struct{"john"})}但这给出了./main.go:12:cannotuseStructliteral(typeStruct)astypestruct{fieldstring}inargumenttosub.Fn:main.gopackagemainimport"go_tests/sub"typeStructstruct{fieldstring

struct - 不了解 Go 中的组合

在下面的示例中,我将http.ResponseWriter嵌入到我自己的名为Response的结构中。我还添加了一个名为Status的额外字段。为什么我不能从我的root处理程序函数中访问该字段?当我在我的根处理函数中打印出w的类型时,它说它是main.Response类型,这看起来是正确的,当我打印出struct我可以看到Status在那里。为什么我不能通过w.Status访问?这是标准输出的内容:main.Response{ResponseWriter:0xc2080440a0Status:0}代码:packagemainimport("fmt""reflect""net/http

struct - 嵌入式结构方法可以了解父/子吗?

几个月来,我一直在空闲时间断断续续地使用Go,我觉得我已经掌握了它的窍门。来自传统的OOP语言,例如Java和PHP,我很难掌握Go中的组合和嵌入。我认为它最近终于成功了,想更多地使用它,但我的一个想法遇到了障碍。假设我有一个包中的结构,该结构具有Validate方法,我将其嵌入到我当前正在使用的包中的结构中。有没有一种方法(我拥有两个包)可以获得对在Validate方法中嵌入的结构?有点像查看谁给我打电话的方式,因为我会在“父级”而不是嵌入式上调用它。我将尝试想象一下...typeBstruct{}func(bB)Validate(){//getreferencesomehowofA

go - 为什么在执行 err == sql.ErrNoRows 时出现 cannot use type *sql.Row as type 错误

我试图按照此处给出的答案中的示例进行操作:Golang:Howtocheckforemptyarray(arrayofstruct)如何检查数据库返回是否为空所以我有这个:err=db.QueryRow("SELECTFROMaccountsWHEREsteamid=?",steamid)switch{caseerr==sql.ErrNoRows:caseerr!=nil:default://dostuff}但是我得到了错误:cannotusedb.QueryRow("SELECTFROMaccountsWHEREsteamid=?",steamid)(type*sql.Row)ast

session - 在 golang 中将 map、struct 设置为 session (gin gonic 框架)

我正在使用gingonic构建网络应用程序。我用https://github.com/gin-gonic/contrib/tree/master/sessions处理session。例如,我为session设置了一个整数值:functionTest(c*gin.Context){session:=sessions.Default(c)session.Set("mysession",123)session.Save()}在另一个Controller中,我可以通过session.Get("mysession")获取这个session。但是如果我设置map或struct。我只能在同一个Con

file - go - 使用 struct 读取二进制文件

我正在尝试使用golang读取二进制文件,但有一个问题。如果我这样读,一切都会好起来的packagemainimport("encoding/binary""fmt""os")typeHeaderstruct{str1int32str2[255]bytestr3float64}funcmain(){path:="test.BIN"file,_:=os.Open(path)deferfile.Close()thing:=Header{}binary.Read(file,binary.LittleEndian,&thing.str1)binary.Read(file,binary.Litt

去反射 : get correct struct type of interface

考虑一下:typemyStructstruct{Foostring`json:"foo"`}funcmain(){somelibrary.DoThing(func(thingmyStruct){//myStructshouldcontainunmarshaledJSON//providedbysomelibraryfmt.Printf("%v\n",thing)})}我是Go的新手,所以我担心这可能不是惯用代码。我想实现somelibrary.DoThing以便它可以通过反射从函数参数中正确推断出结构类型(如果可能的话)。这是我拥有的:constjsonData:=[]byte{`{"

go - 遍历一个 go struct 得到一个 csv 字符串

这个问题在这里已经有了答案:IteratethroughthefieldsofastructinGo(8个答案)关闭5年前。我有一个表示数据集的结构,我需要将其作为时间序列数据写入CSV文件。这是我目前所拥有的。typeDataFieldsstruct{Field1int,Field2string,...Fieldnint}func(dDataFields)String()string{returnfmt.Sprintf("%v,%v,...,%v",Field1,Field2,...,Fieldn)}有没有一种方法可以遍历结构的成员并使用它构造一个字符串对象?性能在这里并不是真正的问

dictionary - map[gorm.DB]struct{}{} 给出无效的映射键类型 gorm.DB

我想创建一组在我的应用程序中使用的gorm类型。所以我想用我的类型定义一个mapgorm.DB作为键和空的结构{}作为标志:var(autoMigrationsmap[gorm.DB]struct{})但是编译器不允许我这样做并出现错误:invalidmapkeytypegorm.DB。我可以使用指向gorm.DB的指针来欺骗它,例如:map[*gorm.DB]struct{}但这不是解决方案,因为我需要使它独一无二,如果我的map像db.AutoMigrate(&Chat{})一样填充,我可以获得许多具有不同地址的相似对象。另一个解决方案是制作一片gorm.DB:autoMigrat

go - 如何检查 *struct 的所有字段是否为 nil?

我不太确定如何解决这个问题,请随时编辑。通过下面的第一个代码块,我能够检查结构的所有字段是否为nil。但实际上,注入(inject)到结构中的值作为args.Review接收(请参阅下面的第二个代码块)。在第二个代码块中,如何检查args.Review中的所有字段是否为nil?TryitonGolangPlaygroundpackagemainimport("fmt""reflect")typereviewstruct{Stars*int32`json:"stars"bson:"stars,omitempty"`Commentary*string`json:"commentary"bs