go 相关问题

Go是一种最初在Google开发的开源编程语言。它是静态类型的,语法松散地源自C,添加了自动内存管理,类型安全性,一些动态类型化功能,其他内置类型(如可变长度数组和键值映射)以及大型标准库。

如何在 Go 中将 Math.Pow 与整数一起使用

我不断收到错误: 不能在 math.Pow 的参数中使用 a(int 类型)作为 float64 类型,不能在 math.Pow 的参数中使用 x(int 类型)作为 float64 类型, 无效运算:math.Pow(a, x) % n (

回答 5 投票 0

使用 pgx 在 postgres 中创建用户(SQLSTATE 42601)

我正在尝试在 postgres 中创建一个用户。目前正在尝试使用 https://github.com/jackc/pgx 作为连接到数据库的驱动程序。我有以下内容 包主 进口 ( “语境” &

回答 2 投票 0

用于同步实体行为的有界“互斥池”

我有一个功能 类型命令结构体{ id Uuid } 处理命令(cmd命令) { 实体 := LookupEntityInDataBase(cmd.Uuid) 实体.handleCommand(cmd) saveEntityInDatabase(实体) } 然而

回答 3 投票 0

不在 main 中的 GoRoutines 最终陷入死锁

我编写 Go 一段时间了,但最近才需要实际利用 goroutine/异步操作。我很难理解事情应该如何运作。 我有一个主要

go
回答 1 投票 0

如何使用 Go 和 etree XML 包访问同级元素?

给定一个如下所示的 XML 文档: 今天 1 给定一个如下所示的 XML 文档: <MasterXML> <Processes> <Params> <ParamName>today</ParamName> <ParamType>1</ParamType> <ParamValue/> </Params> <Params> <ParamName>today</ParamName> <ParamType>2</ParamType> <ParamValue/> </Params> <Params> <ParamName>today</ParamName> <ParamType>3</ParamType> <ParamValue/> </Params> </Processes> </MasterXML> 使用 beevik/etree for Go 包,当 <ParamValue/> 具有特定的特定值时,如何访问文档中 <Params> 的每个实例的 <ParamName>,以用值填充它。 在给定的示例中,当 <ParamValue/> 持有值 today 时,我希望用 05/02/2024 填充所有 <Params> 节点中的所有 <ParamName> 节点。 此代码仅适用于包含许多实例的文档中 <Params> 节点的第一个实例,其中 <ParamName>== today ,尽管循环似乎应该访问 <Params> 的每个实例: for _, elem1 := range doc.FindElements(".//Processes//Params//ParamName") { if elem1 == nil { log.Fatal("Check XPath) } s := elem1.Text() if s == "today" { elem2 := elem1.FindElement("//ParamValue") elem2.SetText("05/02/2024") } } 我该怎么做?为什么 range doc.FindElements(".//Processes//Params//ParamName") 找不到 <Params> 的每个实例?我应该使用不同的方法吗? 您当前的代码确实按照您所描述的方式运行,因为通过在 XPath 中使用双斜杠,您始终以递归方式搜索 XML 树,这意味着您始终从顶部找到第一个出现的位置。 这是固定样本: package main import ( "log" "os" "strings" "github.com/beevik/etree" ) func main() { doc := etree.NewDocument() if err := doc.ReadFromFile("master.xml"); err != nil { panic(err) } for _, elem1 := range doc.FindElements(".//Processes//Params//ParamName") { if elem1 == nil { log.Fatal("Check XPath") } s := elem1.Text() //println(s) if strings.TrimSpace(s) == "today" { elem2 := elem1.FindElement("../ParamValue") elem2.SetText("05/02/2024") } } doc.WriteTo(os.Stdout) } 这需要 master.xml 与您的 .go 文件位于同一目录中。我选择了这个: <MasterXML> <Processes> <Params> <ParamName> today </ParamName> <ParamType>1</ParamType> <ParamValue/> </Params> <Params> <ParamName> tomorrow </ParamName> <ParamType>2</ParamType> <ParamValue/> </Params> <Params> <ParamName> today </ParamName> <ParamType>3</ParamType> <ParamValue/> </Params> </Processes> </MasterXML> 产生所需的输出: <MasterXML> <Processes> <Params> <ParamName> today </ParamName> <ParamType>1</ParamType> <ParamValue>05/02/2024</ParamValue> </Params> <Params> <ParamName> tomorrow </ParamName> <ParamType>2</ParamType> <ParamValue/> </Params> <Params> <ParamName> today </ParamName> <ParamType>3</ParamType> <ParamValue>05/02/2024</ParamValue> </Params> </Processes> </MasterXML>

回答 1 投票 0

golang中生产者消费者死锁

这些是我的全局变量。我在主函数中初始化了taskCond。 变量( 完成标志布尔值 taskMutexsync.Mutex taskCond *sync.Cond ) 我的生产者代码如下所示 - 功能公关...

回答 1 投票 0

Golang 模糊测试固定长度字符串

我正在寻找一种通过模糊测试测试固定长度字符串的有效方法(这样只有字符串的内容是可变的,而不是长度)。 我的第一个想法是使用数组,例如 f.Fuzz(f...

回答 1 投票 0

使内部 go 模块可供更多项目使用

在我的一个项目中,我使用了一个内部模块: 包主 进口 ( “gitlab.example.com/team/project/internal/exitcodes” ) 效果很好。 现在我需要在另一个模块中使用该模块

回答 1 投票 0

在不同结构之间共享方法实现

假设我们有 2 个结构体共享一个具有相同名称和用途但大小不同的属性: 类型 ( L16 结构体 { 长度 uint16 } L32 结构体 { 长度 uint32 } ) ...

回答 2 投票 0

及时无效的令牌由 JWT 库返回有效

在测试服务器时,我注意到过期的令牌继续提供对系统的访问。 我开始检查验证我的令牌的函数。 func (m *Manager) verifyToken(accessTo...

回答 1 投票 0

使用 docker (golang) 时连接数据库出错

我在使用 docker 时遇到一个问题 函数 ConnectToDB() { var 错误 错误 dsn := “主机=本地主机 用户=postgres 密码=postgres dbname=yandex 端口=5432 sslmode=禁用” DB,错误=天哪...

回答 1 投票 0

同时访问Go中的共享地图

我是并发新手,面临以下问题。 我有一个外部 for 循环,用于从数据库获取行。我希望在每个循环中填充 vertexDistribution 映射 今年...

回答 1 投票 0

在 Docker 中构建 Golang 应用程序在“go get”上返回“无法找到提供包的模块”。

我正在使用 Docker 来容器化 Golang 应用程序,但在从 Dockerfile 获取可执行文件时遇到了问题。 这是 Dockerfile: # 语法=docker/dockerfile:1 弗...

回答 1 投票 0

迭代项目列表时如何使并发调用超时

我正在研究一个问题,我需要处理列表中的一堆项目。现在我只需要在配置的时间内可以处理的项目的结果,其他结果需要

回答 1 投票 0

无法在存储库的子目录中创建Go语言包

我在私有 GitLab 的多个子目录下创建了包含 Go 语言包的存储库。 存储库的层次结构如下。 https://mygitlab.example.com/grand-parent-...

回答 1 投票 0

有没有办法在使用 go-gorm 创建记录时删除 RETURNING 子句?

我正在将 go-gorm 与 postgres 11 数据库一起使用,并面临一个问题,我需要在创建记录时完全删除 RETURNING 子句(该语句似乎默认包含在内)。我只想

回答 3 投票 0

使用 Kubebuilder 为部署创建无限协调循环

我正在创建一个控制器,用于监视集群上的部署及其 Pod。监视的部署不是自定义资源。我已经用 kubebuilder 构建了控制器。为了目的...

回答 1 投票 0

如何将 Gomock 与 AWS SDK 结合使用?

例如,当我使用 gomock 测试使用 DynamoDB 的代码时,如下所示: 模拟DynamoDB := awsmock.NewMockDynamoDBAPI(ctrl) mockDynamoDBClient.EXPECT().PutItemWithContext(gomock.Any(),

回答 1 投票 0

如何将此 TCP/IP MULTICAST 代码从 Python 翻译为 Go

我有这段代码,用Python编写。据我了解 创建单个套接字 将每个本地 IP 地址添加为给定多播组的成员。 如果任何本地接口收到多...

回答 1 投票 0

没有来自 Google OAuth2 的刷新令牌

我似乎无法从 oauth2.Exchange() 获取正在测试的应用程序的刷新令牌。 config.Exchange(ctx, 代码, oauth2.AccessTypeOffline, oauth2.ApprovalForce) 返回没有

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.