-
0 votesanswersviews
如何在swagger中创建前缀路由
通常由swagger设置简单服务器提供的示例,其中所有api调用json函数都在文档根目录上 . 例如着名的“你好世界”坐落在“/ hello” . 我想找到一种方法来定义给定的前缀,这样就可以将特定的api放在这个前缀下 . 如果前缀是“/api/2.0”,则示例api将成为 /hello --> /api/2.0/hello # The prefix would be "... -
0 votesanswersviews
将Swagger与现有API集成
有没有办法自动生成文档和客户端UI以与我已经创建的现有Go服务进行交互? 我使用自动生成的API服务代码的唯一问题是因为我有两种类型的支持传输(gRPC和http) . 我不想被限制在自动生成的Swagger服务器上 . -
0 votesanswersviews
在Bitbucket管道中交叉编译Golang
我正在尝试配置Bitbucket管道以自动将Golang代码编译为Linux,OSX和Windows . 我正在使用Go的交叉编译功能;管道正在运行Linux环境,并通过设置GOOS和GOARCH的值交叉编译到OSX和Windows . 但是,我无法让Windows构建工作 - 它错误并告诉我它找不到某个包 . Linux和OSX构建都成功了 . 但是,Windows构建失败,告诉我它无法找到/... -
3 votesanswersviews
是golang net.UDPConn和net.TCPConn线程安全?我可以在多线程中读取或写入单个UDPConn对象吗?
1.我们可以在同一个net.UDPConn或net.TCPConn对象上调用一个线程的发送和另一个线程的recv吗? 2.我们可以从同一网络上的不同线程并行调用多个发送.UDPConn或net.TCPConn对象? 我也找不到相同的好文档 . golang socket api线程安全吗? 我发现很难测试它是否是线程安全的 . 方向上的任何指针都会有所帮助 . 我的测试代码如下: package... -
0 votesanswersviews
如何在不使用“/”和“%”的情况下有效获得商和余数?
我已经实现了一个简单的函数,当除数是 10 的幂时,它返回商和余数: func getQuotientAndRemainder(num int64, digits uint) (int64, int64) { divisor := int64(math.Pow(10, float64(digits))) if num >= divisor { return n... -
11 votesanswersviews
是否有一些优雅的方式来暂停和恢复golang中的任何其他goroutine?
就我而言,我有成千上万的goroutines同时工作 work() . 我也有一个 sync() goroutine . 当 sync 启动时,我需要任何其他goroutine在同步作业完成后暂停一段时间 . 这是我的代码: var channels []chan int var channels_mutex sync.Mutex func work() { channel := mak... -
47 votesanswersviews
没有阅读,如何检查 Channels 是否关闭?
这是@Jimt撰写的Go中 Worker 和控制器模式的一个很好的例子,回答“Is there some elegant way to pause & resume any other goroutine in golang?” package main import ( "fmt" "runtime" "sync... -
0 votesanswersviews
在Go中实现作业工作者池
由于Go没有泛型,所有预制解决方案都使用我不太喜欢的类型铸造 . 我也希望自己实现它并尝试以下代码 . 但是,有时它并不等待所有goroutines,我是否过早关闭了工作渠道?我没有任何东西可以从他们那里取 . 我可能也使用了伪输出通道并等待从它们获取确切的数量但是我相信以下代码也应该工作 . 我错过了什么? func jobWorker(id int, jobs <-chan string... -
0 votesanswersviews
在取消通道上传递任何值会导致程序挂起
我正在尝试使用工作器goroutines检查直径到一定距离,当我一次做一个瓦片时效果很好,但是当我做一堆时,会出现大幅减速 . 我认为这是因为即使不再需要它们,许多goroutine仍在运行 . 我添加了一个故障通道来告诉所有正在运行的goroutine关闭商店,但这样做会导致应用程序挂起 . 实际上,将任何值传递给通道会导致应用程序挂起,即使我不使用它也是如此 . caught := 0 loo... -
0 votesanswersviews
同步工作程序以进行递归爬网
我想用 n Worker 实现"crawler",其中每个 Worker 都能够添加额外的工作 . 当没有工作和所有 Worker 完成工作时,程序应该停止 . 我有以下代码(你可以在https://play.golang.org/p/_j22p_OfYv玩它): package main import ( "fmt" "syn... -
1 votesanswersviews
如何安全地关闭Go中的Chan chan T?
我正在实现一个简单的工作池算法,其中1个Sender(调度程序)将作业发送到M(Worker)go例程 . 为此,它使用通道通道为第一个空闲工作者分配一个可用的工作: // builds the pool func NewWorkerPool(maxWorkers int) WorkerPool { pool := make(chan chan Job, maxWorkers) w... -
1 votesanswersviews
如何从正从该通道接收数据的goroutine向通道添加对象?
基本上,我正在尝试使用goroutines编写并发的站点 Map 爬虫 . 一个站点 Map 可以包含指向多个站点 Map 的链接,其中可以包含指向其他站点 Map 等的链接 . 现在,这是我的设计: worker: - receives url from channel - processesUrl(url) processUrl: for each link in... -
1 votesanswersviews
使用通道的几个goroutine的Golang同步
我需要启动一些具有单任务队列和单个结果队列的工作程序 . 每个 Worker 都应该从不同的goroutine开始 . 我需要等到所有工作人员完成并且任务队列将在程序退出之前为空 . 我已经为goroutine同步准备了一些小例子 . 主要的想法是我们计算队列中的任务并等待所有 Worker 完成工作 . 但目前的实施有时会错过 Value 观 . 为什么会发生这种情况以及如何解决问题?示例代码:... -
1 votesanswersviews
Heroku H15关闭Web套接字错误
我有一个Go服务作为Heroku上的Web套接字服务器 . 客户端每20秒ping一次服务器,似乎保持连接打开 . 问题是当套接字连接关闭时,Heroku路由器抛出H15错误,认为请求花费了太多时间 . 例如,如果Web套接字连接已打开300秒,Heroku日志将显示: ... ... .H15 . dyno = web.1 connect = 1ms service = 300000ms st... -
9 votesanswersviews
为什么在像gorm这样的go libs中使用struct中的sql标签?
我知道golang中struct的标签的必要性以及如何通过golang中的reflect来访问它 . 但是我已经搜索过了,并且在为sql结果编写struct时为什么我应该在struct中使用sql标签的问题找不到可靠的答案 . 我已经探索了许多示例代码,人们在结构中使用 sql:"index" ,在结构中使用 sql:"primary_key" . 现在我... -
-2 votesanswersviews
使用golang的API规范转换器
我的任务是将xml转换为openapi规范(swagger 2.0) . 我找到了一个节点包(https://github.com/LucyBot-Inc/api-spec-converter)来做它,但我想在golang中使用类似的包 . 提前致谢! -
4 votesanswersviews
外键和相关数据与gorm
我正在使用golang和gorm与MySQL数据库交谈 . 我有一个包含发布元数据的表: type OSType string const ( Windows OSType = "windows" Mac OSType = "mac" ) type AgentMetadata struct { Version ... -
0 votesanswersviews
在mgo中插入对象ID数组
所以最近我一直试图使用mgo将不同类型的数据插入到结构中,我遇到了一些障碍 . 当试图插入一个对象ID数组时,如果我在结构中填充该对象ID数组,我似乎无法弄清楚该格式 . 这是如下结构 type Group struct { ID bson.ObjectId `json:"id" bson:"_id"` GroupName string... -
1 votesanswersviews
Go:接口作为返回值
我有几个结构,我填充MongoDB的数据 . type Dog struct { Id string Age int } type Invoice struct { Id int Amount float } 我试图创建这样的函数: func LookUp(collection string, ids []string) []interface{} { ... -
0 votesanswersviews
将结构的字段和不同类型的值写入Go中的文件
我正在编写一个简单的程序,它从表单中获取输入,用接收到的数据填充结构的实例,并将接收到的数据写入文件 . 我现在有点陷入困境,想出了迭代填充结构并将其内容写入文件的最佳方法 . 有问题的结构包含3种不同类型的字段(整数,字符串,[]字符串) . 我可以迭代它们但我无法得到它们的实际类型 . 使用print语句检查下面发布的代码,发现它们的每个类型都以结构形式返回,而不是前面提到的字符串,int等 ... -
0 votesanswersviews
Golang用struct值填充函数参数
我想知道是否有一种方法可以在golang中使用结构的所有值(通常具有不同类型)来填充可变参数函数参数 . 我想到的具体示例是以下片段,用于使用https://github.com/DATA-DOG/go-sqlmock为模拟的postgres数据库查询生成一行: rows := sqlmock.NewRows([]string{ "id", &q... -
0 votesanswersviews
如何在Go中为MySQL构建RESTful API?
我的任务是将JSON有效负载插入表中 . (固定)SQL表结构的定义如下: $ echo "describe ut_invitation_api_data\G;" | mysql -h auroradb.dev.unee-t.com -P 3306 -u bugzilla --password=$(aws --profile uneet-dev ssm get-paramete... -
9 votesanswersviews
在Golang中将两个或多个[] map [string] interface {}类型合并为一个
我正在使用Golang,出于某种原因,我需要合并来自不同数据库查询的结果,所有这些都会让我看到一个 []map[string]interface{} 我'm thinking of Append but its just not clear enough if this is even possible. What is the final datatype I'? 显然,一个带键作为字符串的接口... -
0 votesanswersviews
无效的关联[]有很多使用Postgresql
我正在使用GORM和PostgreSQL数据库 . 我有预先存在的迁移(不使用gorm来处理迁移) . 我有2个彼此相关的结构,它们代表2个在所述数据库中具有许多关系的表 . 移民: CREATE TABLE IF NOT EXISTS items_captions ( id varchar(50) NOT NULL, item_id varchar(50) NOT NULL REFERE... -
1 votesanswersviews
Golang数据库管理器api概念,类型断言错误
创建数据库管理器API以通过API获取数据的基本概念 . 我正在使用GORM来获取strcuts实例的数据 . 所以有300-400结构代表表 . type Users struct { ID int64 Name string } type Categories struct { ID int64 Category string } 下一步我实现一个函数,它通过表名返回结构的... -
0 votesanswersviews
gorm golang one2many同桌
我正在尝试使用golang gorm在(我的)sql表中创建一个自引用 . 目前我的代码看起来像这样: type Person struct { gorm.Model Name string Children []*Person `gorm:"ForeignKey:ParentID"` ParentID uint } func main() {... -
2 votesanswersviews
GORM是否具有Decimal数据类型?
GORM是否有十进制数据类型来存储货币值( - > Decimal(8,2) )? 我在https://github.com/jinzhu/gorm#define-models-structs找不到它 -
0 votesanswersviews
源结构上的外键?
我从Gorm开始并试图模拟以下内容: type MyLink struct { gorm.Model Title string Url string } // group of links under a single title type MyLinkSection struct { gorm.Model ... -
1 votesanswersviews
外键不是通过一对多关联创建的
我有一个 Task 类型,其中包含 Runner 类型对象的列表 . 我试图使用golang gorm将其映射到数据库,但它没有外键,我在迁移期间得到 invalid association 我的任务结构: type Task struct { gorm.Model Name string `gorm:"not null;unique_index"... -
2 votesanswersviews
GORM按外键协会查找
我有以下 struct : type Relation struct { Metric *Metric `gorm:"foreignkey:MetricID"` MetricID uint ... } Metric 定义为: type DatabaseMeta struct { Id uint `json:"-" gorm:...