-
0 votes0 answers1508 views
如何在运行时生成graphql架构?
我有一个用golang编写的graphql服务器,使用graphql-go api从MongoDb获取数据并将数据发送给用户 . 但这是graphql架构是静态的 . 将来,如果有一个新字段添加到mongodb集合,并且用户查询它,那么graphql server应该能够动态获取该字段 . 这意味着,需要生成运行时模式 . 该字段的类型未知 . 怎么能实现这一目标? -
2 votes2 answers808 views
池和原型模式有什么区别?
我刚刚阅读了golang中的Design Patterns一书中关于Creational模式的章节 . 这些是: 工厂 抽象工厂 原型 单身人士 建设者 我在github上创建了一个存储库来列出所有这些存储库 . 我找过像我这样的其他资料库: tmrts/go-patterns yksz/go-design-patterns jeanphorn/go-desig... -
493 votes10 answers1601 views
如何检查 Map 中是否包含密钥?
我知道我可以迭代一张 Map 了, for k, v := range m { ... } 并寻找一个关键但是有一种更有效的方法来测试一个关键字's existence in a map? Thanks. I couldn'在_129046中找到答案 . -
13 votes2 answers710 views
如何使用GORM检查CRUD操作中的错误?
GORM的official documentation演示了一种可以测试记录存在的方法,即: user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()} // returns true if record hasn’t been saved (primary key `Id` is blank) db.NewReco... -
5 votes3 answers9 views
Golang Gorm:是否可以通过many2many关系删除记录?
我有一个类似于GORM的例子的许多结构: // User has and belongs to many languages, use `user_languages` as join table type User struct { gorm.Model Languages []Language `gorm:"many2many:user_languag... -
2 votes2 answers132 views
如何使用GORM创建或更新记录?
Gorm有一个 FirstOrCreate 方法和一个 FirstOrInit ,但如果记录实际创建后如何检查?我喜欢创建一个记录,如果它不存在,如果它存在,我想更新一些字段 . -
6 votes1 answers1753 views
golang gorm更新关联保存
有没有办法在保存对象时自动删除关联? 像这样的东西: type Parent struct { gorm.Model Name string Children []*Child } type Child struct { gorm.Model Name string ParentID uint } func myFunc(db *gorm.DB)... -
0 votes2 answers330 views
如何在Gorm中正确执行部分更新?
我有某种虚拟文件系统 . 文件夹列表,每个文件夹包含文件和ACL . 所以结构看起来像这样: type Model struct { ID uint `gorm:"primary_key" json:"id"` } type User struct { Model Name string } type F... -
2 votes1 answers206 views
如何在gorm中获取struct(内部struct)值
我是Golang和GORM的新手 . 我有一些问题 . 我怎样才能获得内部结构值? (就像golang中的嵌套结构一样),我试过但是,我没有得到实际的结果 . 我有三个结构 Department Struct type Department struct { gorm.Model DepartmentName string DeptCode string ... -
0 votes0 answers1795 views
如何用gorm创建与mysql的ssl连接?
似乎无法使用gorm创建与mysql Build SSL连接的任何资源 . 我正在创建一个非ssl连接,如下所示: cfg := mysql.Config{ User: config.User, Passwd: config.Password, Addr: fmt.Sprintf("%s:%d", config.Host, config.Port... -
5 votes2 answers1094 views
使用nodejs客户端访问golang websocket服务器
我是NodeJS的新手 . 假设我有一个使用Golang的websocket包实现的echo服务器: package main import ( "code.google.com/p/go.net/websocket" "log" "net/http" ) func EchoServer(ws *websock... -
0 votes1 answers1604 views
EchoServer(Java)没有将消息返回给客户端(golang)
我正在尝试创建客户端写入的TCP客户端(golang)服务器(Java)应用程序,服务器回显此文本并将消息返回给客户端,然后回复客户端 . Server code (Java): public static void main(String[] args) throws Exception { int port = 4444; ServerSocket serverSocket ... -
1 votes1 answers1853 views
[Golang]客户端rabbitMQ意外关闭了TCP连接,如何捕获或修复它?
我正在使用rabbitMQ Golang客户端在两台服务器之间发布pub和sub消息,但我经常会遇到错误:“客户端意外关闭了TCP连接” . 我的rabbitMQ客户端正常运行,但经过一段时间后它停止了 . 谁可以帮我检查如何捕获此错误并重新连接/修复此错误 . 非常感谢 -
1 votes1 answers1939 views
如何使用golang客户端写连续写入Influxdb
我正在使用InfluxDB来存储我的时间序列数据 . 我写了一个简单的golang应用程序来读取名为 time.log 的文件中的行 . https://github.com/influxdata/influxdb/blob/master/client/README.md#inserting-data的文件说: 插入数据时间序列数据也称为点使用批量插入写入数据库 . 该机制是创建一个或多个点,然... -
0 votes0 answers1643 views
使用Go客户端写入InfluxDB会导致随机错误
我正在使用golang Influx v2客户端库写入我的Influxdb . 我的代码基于客户端文档中的参考示例非常简单: func SaveMetricsToInflux(id string, rs Resultset, mtype string) { defer conf.Trace()() // Create a new HTTPClient c, err := c... -
119 votes4 answers1095 views
Go中结构的堆栈与堆分配,以及它们与垃圾收集的关系
我是Go的新手,我在C风格的基于堆栈的编程之间经历了一些不协调的错误,其中自动变量存在于堆栈上,并且在堆上分配了内存,以及基于Python的基于堆栈的编程,其中只有堆栈上的东西才是堆上对象的引用/指针 . 据我所知,以下两个函数提供相同的输出: func myFunction() (*MyStructType, error) { var chunk *MyStructType = new(... -
0 votes1 answers1698 views
Node crypto包中的crypto.randomBytes(32)的Golang中的等价物是什么?
嗨伙计们我基本上都在尝试重新创建这个节点包: https://github.com/seishun/node-steam-crypto/blob/master/index.js 在 golang 中,我可以对Steam API进行API调用,这需要这些加密的 sessionKeys ,而不是 . 我正在查看 crypto 包,但有很多不同的散列方法可供使用我不确定哪一个最接近 crypto.ran... -
2 votes0 answers1432 views
net / context包装在http.ResponseWriter上,好还是坏?
我需要一个可以支持静态和动态路由的HTTP router "violetear",我的意思是,可以处理请求,例如: /read/book/:uuid/:uuid/ :uuid类似于C6FF0F6F-A274-48F4-B219-6595DCB989A5 或基本路线如: /read/page/3 对于中间件,我使用Alice帮助我保持与http.Handler接口的兼容性... -
4 votes2 answers146 views
Go中这个括号括起的变量声明语法是什么?
我试图在Go中找到关于括号括起的变量声明语法的一些信息,但也许我只是不知道它的名字,这就是为什么我找不到它(就像例如值和指针接收器一样) . 即我想知道这种语法背后的规则: package main import ( "path" ) // What's this syntax ? Is it exported ? var ( rootDir = path... -
-1 votes2 answers1425 views
我应该用指向结构的指针还是仅仅在结构上定义我的func?
在我看来,我似乎有两个选择: foo := Thing{} foo.bar() foo := &Thing{} foo.bar() func (self Thing) bar() { } func (self *Thing) bar() { } 用自己的东西或自我*事物来定义我的函数的更好的方法是什么? 编辑:这不是关于方法和函数的问题的重复 . 这个问题与Thing和&Thin... -
1 votes3 answers748 views
编写一个可以操作几个相似类型的函数
我正在尝试制作几种类型,可以调用相同的函数来执行一些常见操作,而无需为每种类型复制它们 . 我们称这些类型的处理程序 . 我的想法是我可以有一个CreateHandler,一个ListHandler等,以及一个将为这些处理程序执行默认操作的函数,比方说,将“Success”字段设置为true并在处理程序上调用“Execute”函数 . 我保持这些示例简单易读,但在实际情况下会有更常见的操作方式 .... -
0 votes1 answers1022 views
当我传递中间件配置时,如何允许Buffalo(gobuffalo)中间件的skip()方法?
我正在尝试创建一个自定义Buffalo(gobuffalo)中间件,它接受正在运行的配置 . 问题是我失去了使用此错误跳过中间件功能的能力: actions / app.go:63:22:不能使用myMiddlewareFunc(类型为func(myConfig)buffalo.MiddlewareFunc)作为app.Middleware.Skip参数中的buffalo.MiddlewareFu... -
-2 votes1 answers691 views
这种类型声明的含义是什么?
我实际上是在学习golang(来自.NET),有一点我对这种语言不了解 . 有时我会发现这种声明: https://github.com/golang/crypto/blob/master/ed25519/ed25519.go // PublicKey is the type of Ed25519 public keys. type PublicKey []byte 这究竟是什么意思?它是一个继... -
1 votes4 answers273 views
ServeHTTP如何运作?
我正在Golang学习Web开发(初学者)我遇到了一些我玩过的代码,我不太清楚它为什么会起作用,我查看了库的源代码和文档,但我只是有一个模糊的想法,它仍然不是'点击 . 请注意以下代码: package main import ( "fmt" "net/http" ) type foo int func (m foo) ServeHTT... -
3 votes1 answers81 views
如果条件检查,Kubernetes头盔图表
我试图添加如果伟大而不是Helm图表中的条件 . 这是投掷错误 . 我在values.yaml中定义了值,并在deployment.yaml中使用该值作为条件 . values.yaml replicaCount: 2 deployment.yaml rollingUpdate: maxSurge: 1 {{ if gt .Values.replicaCount 2}} maxUna... -
1 votes1 answers1053 views
在Go - contract函数调用中构建原始的以太坊交易
我正在修改go-ethereum,以便能够使用我们正在创建的令牌处理合并挖掘 . 因此,每当一个矿工拥有我们的geth版本运行和挖掘时,如果他们找到一个区块,他们将通过我们的 Contract 收到X金额的令牌 . 该 Contract 旨在处理给区块矿工的奖励 . 我只需要修改go-ethereum来处理在 Contract 中添加调用奖励函数的事务并在提交块之前将其添加到tx池 . 在go-e... -
3 votes2 answers504 views
哪个是在以太坊区块链上持有合约数据的更有效方法?
我正在玩一个私有的以太坊区块链,我有兴趣实施一些智能合约 . 但是,信息非常有限,因为这是区块链的较新实现 . 举个例子,假设我想要一份包含有关某人信息的 Contract . 是否更有效率 create a new contract for each person, or simply hold information about all users in the same contract?... -
266 votes4 answers517 views
格式化Go字符串而不打印?
是否有一种简单的方法可以在Go中格式化字符串而不打印字符串? 我可以: bar := "bar" fmt.Printf("foo: %s", bar) 但我希望返回格式化的字符串而不是打印,以便我可以进一步操作它 . 我也可以这样做: s := "foo: " + bar 但是当格式字符串很复杂时很难读取,当一个或多个部分不是字符串并... -
0 votes1 answers1484 views
无法将容器化的应用程序连接到容器化的postgres,接收拨号tcp连接拒绝错误
这个社区是我解决这个问题的最后一个手段,因为我现在已经和它斗争了好几个小时了 . 我有一个在一个容器中运行的应用程序,在另一个容器中我正在运行一个postgres数据库 . 只要 only 我的postgres在一个容器中,我能够从我的go应用程序连接到postgres数据库,并且我的go应用程序像往常一样在本地运行 . 但是,当我的应用程序尝试从docker容器中访问postgres时,我得到以... -
1 votes1 answers1598 views
使用mgo上传到分片的MongoDB错误“完整的分片键必须在更新对象中进行收集:...”
使用MongoDB的Labix mgo API,我试图对分片集合执行增量操作 . 我可以使用通常的mgo.Change结构在非整数集合上做到这一点,但是当我尝试在分片集合上执行此操作时,我收到错误: full shard key must be in update object for collection: db_name.collection_name 适用于非分片集合的原始代码如下所示: c...