问题标签 [go-structtag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
664 浏览

go - 如何编组结构,就好像它是一个匿名结构一样?

文档指出:

匿名结构字段通常被编组,就好像它们的内部导出字段是外部结构中的字段一样。

例如:

我这样做:

我明白了:

但是当 foo不是匿名结构时,我怎样才能获得相同的结果?意义:

并且还解组json。

0 投票
2 回答
71 浏览

for-loop - 在 Go 中循环切片以创建地图

我正在遍历 Go 中的一个切片,该切片由我制作的名为 Product 的结构组成。

我想将此切片转换为地图,以便产品 ID 是键,产品是值。

这是我创建的结构。

这是我创建的功能...

还有更多代码,但除了 for 循环之外,所有代码都可以正常工作。当我在 for 循环中打印出 prod 映射时,它确实会单独检查 productList 中的每一项(190 项),但它只会返回一项 - 最后一项。我应该以某种方式将每次迭代附加到地图上吗?我在视频教程旁边进行编码,并拥有教程视频中的源文件,与他们的代码相比,我的代码找不到任何问题......

0 投票
2 回答
428 浏览

json - 如何更改 Go 结构中的 JSON 标记?

我有一个看起来像这样的结构

我希望能够在json:"secret"满足条件时将 Secret 的脚本标签更改为。

struct MediaFile 已在代码的其他部分中被大量引用,因此使用具有不同名称的不同 Struct 是不可行的。

我尝试使用如下指针。请注意,我已经删除了 struct Mediafile 的定义,如以下示例中所示。

但这导致我收到很多提升字段错误,因为在这种情况下,它的 AlterMediaFile 基本上只是 MediaFile 的嵌套类。

那么,有什么简单的方法可以让我将“秘密”脚本标签从json:"-"更改为json:"secret"

0 投票
1 回答
148 浏览

go - 无法在 Golang 中编写可以在多个结构上工作的通用函数

我是 Go 新手,正在学习接口和结构。我有 2 个结构 - ServiceSectionSliderSection,我正在尝试用它们完成以下 2 个任务-

  1. 获取 JSON 响应并解组它。
  2. 使用 struct 使用“html/template”创建 HTML

因此,我正在尝试创建一个通用函数来执行可用于多个结构的任务。计划是再创建 5-6 个这样的结构。以下是我创建的代码 -

在执行上述程序时,我在解组 JSON 时在populateHTMLcommon()函数中收到以下错误 -

json:无法将对象解组为 main.MyInterface 类型的 Go 值

这意味着它无法从MyInterface接口识别适当的结构。

我不明白如何创建一个适用于多个结构的通用函数。任何帮助表示赞赏。

0 投票
2 回答
99 浏览

go - 如何在 Struct 中声明类似空 Object/Struct 的东西?

嗨,我正在学习 Go 语言,我想问一下如何创建空的 Object/Struct 作为域模型数据类型?我使用 Fiber 作为我的框架,这是我想从 golang 响应 api 获得的示例,如下所示:

这是我尝试的方法,这是我的 responseDto.go :

那么这就是我的控制器的样子:

那么这里是回应:

如您所见,我将有嵌套数据,但我不希望它嵌套,我希望它只嵌套一层,就像我的示例一样。我怎样才能实现它?我应该使用什么数据类型以及如何使用它来分配值?

0 投票
1 回答
266 浏览

go - Go - 结构在同一个包中不可见但嵌套文件夹

我正在开发一个结构如下的 Go 项目:

generalpages.goRepository使用以下声明处理我的模式结构:

所有常见页面(例如“主页”、“关于”)都可以正常使用这种类型的声明:

但是,如果我想构造我的页面并为我的InstructorsPage(inside instructor.go) 使用相同的声明,如下所示,它不起作用并且 VSCode 中的错误说:undeclared name.

我的理解是一个对象应该在同一个包中可见,但它仍然不起作用。go build没有抛出任何错误,但是当我使用路由包(chi)时,它无法正确引用它。

0 投票
1 回答
136 浏览

go - 使用 go lang 附加到 YAML 文件

我编写了一个 golang 程序,它将规则附加到文件中,如下所述所需格式:

我写了一个 go 程序,它没有采用上述格式,我无法得到我所缺少的东西。

这是我的代码,在运行程序时,YAML 没有以上述格式附加。这些值被附加如下。

为什么我没有获得所需格式的 YAML 文件?

0 投票
1 回答
71 浏览

go - Golang在db查询中使用数组值过滤记录

我有数组 int64 值的列表

我想在 db 查询中使用上述数组来过滤掉 ID 不在上述 ID 中的记录。

我尝试了很多方法,但未能创建查询字符串。

0 投票
0 回答
105 浏览

postgresql - Golang 扫描数据库行到字符串和数组的 json

我正在尝试使用带有 3 个表的内部联接(例如表 A 和 B)从 DB 获取输出。

输出结构

数据库查询

上面的代码产生以下输出:

但是我试图将单个字段中的字段“b”与字典列表合并,并且在重复值时只写入一次“a”字段。

尝试更改结构但似乎不起作用。DB 详细信息:表 A(AID、姓名、Des、地点)表 B(BID、答案、分数)

询问:

0 投票
0 回答
88 浏览

go - 从golang中的protobuf文件写入镶木地板文件

我有一个这样的原型文件:

这个 proto 文件生成一个带有 Data 结构的 go 文件:

现在我想初始化一个新的镶木地板编写器:

问题是我没有镶木地板标签,所以镶木地板作家失败了。

如何将生成的结构更改为带有镶木地板标签: