初始化嵌套匿名结构

2024-05-11

我有一个 json 作为

{
"fields": ["time","id","status","customerId","additionalDetail"],
"pageInfo": {"start": 0, "rows": 1000}
}

我想将我的结构编组到上面的 json 并创建如下结构 -

type RBody struct {
Fields []string `json:"fields"`
PageInfo struct {
    Start int `json:"start"`
    Rows int `json:"start"`
    } `json:"pageInfo"`
}

我在初始化上述结构时遇到问题。我不确定如何以下面的方式初始化匿名结构:

bd := RBody {
Fields : []string{"time","id","status","customerId","additionalDetail"},
PageInfo : ???
}

我通过为页面信息创建一个单独的结构并将其附加到父结构来解决这个问题。然而,必须有某种方法来执行初始化匿名的嵌套结构,就像我做的一样Fields(字符串切片)上面。任何人都可以将我重定向到一些指南来做到这一点吗?


这可行,但很难看:

bd := RBody { Fields :  []string{"time","id","status","customerId","additionalDetail"},
PageInfo : struct {Start int `json:"start"`
Rows int `json:"rows"`} {Start:1,Rows:2}}

我建议您要么命名匿名结构,要么在声明中初始化 Fields,并稍后使用赋值初始化 PageInfo。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初始化嵌套匿名结构 的相关文章

  • json.Unmarshal json字符串到对象是空结果[重复]

    这个问题在这里已经有答案了 我有一个非常简单的程序 如下所示 package main import encoding json fmt type RunCommand struct level string json level call
  • 如何拥有在标准输出上更新的就地字符串

    我想输出到标准输出并让输出 覆盖 以前的输出 例如 如果我输出On 1 10 我想要下一个输出On 2 10覆盖On 1 10 我怎样才能做到这一点 stdout是一个流 io Writer 您无法修改已写入其中的内容 什么can更改的是该
  • 返回具有关联类型的特征

    struct A struct PropA struct B struct PropB trait AB type prop fn a self gt fn b self p Self prop gt impl AB for A type
  • 对结构体进行 typedef 对其自身有什么影响? [复制]

    这个问题在这里已经有答案了 我在 API 顶部看到过这样的代码 typedef struct SYSTEM SYSTEM 方式SYSTEM之前是未定义的 有谁知道这是做什么的 编译器认为什么SYSTEM这条线之后 感谢您的回答 我的问题是
  • 结构中未初始化字段没有 Clang 警告

    考虑以下结构 typedef struct foo int a int b foo 我的编译器不会对以下语句发出警告 foo m 300 为什么没有发出警告 我预计会收到警告 因为我没有为结构的最终字段提供任何值 这是我的编译器调用 cla
  • 寻找一种简单的方法来重新初始化结构

    我有一个名为 CoolStruct 的结构 struct CoolStruct int id uint32 type uint32 subtype String name 我也有这些结构的向量 std vector
  • 如何使用 go1.6.2 构建 linux 32 位

    有没有任何组合GOARCH and GOOS我可以设置哪些值来构建 ELF 32 位二进制文 件 GOOS linux and GOARCH 386 更多示例 架构 32 bit gt GOARCH 386 64 bit gt GOARCH
  • 如何读取 UDP 连接直至超时?

    我需要读取 UDP 流量 直到超时 我可以通过在 UDPConn 上调用 SetDeadline 并循环直到出现 I O 超时错误来做到这一点 但这看起来很黑客 基于错误条件的流量控制 下面的代码片段看起来更正确 但并没有终止 在生产中 这
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • golang中如何将相对路径解析为绝对路径?

    节点中是否有类似 path resolve 的API 或者有什么东西可以做同样的事情 例如 nodejs代码 path resolve sample sh 应该得到 home currentuser sample sh 解决 表示用户主目录
  • 使用 Mupen64Plus 非托管 C dll API 命令填充 C# 结构

    我在用着木盆64Plus https github com mupen64plus mupen64plus core以及包含的m64p test rom v64 file 我在用着C 与mupen64plus dllAPI 是写在C Pro
  • 管理多租户 ArangoDB 连接

    我使用 ArangoDB Go 使用 go driver 并且需要实现多租户 这意味着每个客户都将在单独的数据库中拥有他的数据 我想要弄清楚的是如何使这种多租户发挥作用 我知道为每个请求创建一个新的数据库连接是不可持续的 这意味着我必须维护
  • 仅导出嵌入结构实现的方法子集

    是否可以仅导出嵌入结构实现的方法的子集 这是一种与减少代码复制和粘贴非常不同的方法吗 还有更惯用的方法吗 type A struct func a A Hello fmt Println Hello func a A World fmt P
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 一次分配多个字段的聪明方法?

    由于遗留函数调用 我有时被迫编写像这样的丑陋的包装器 function return someWrapper someField a someField a b someField b and so on realistically it
  • 不支持的 Perl 语法:`(?<`

    我想解析 cmd gpg list keys 的结果以将其显示在浏览器上 cmd输出是这样的 pub rsa3072 2021 08 03 SC expires 2023 08 03 07C47E284765D5593171C18F00B1
  • Clock_t、time_t 和 struct tm 之间有什么区别?

    Clock t time t 和 struct tm 之间有什么区别 结构体看起来像这样 struct tm int tm sec int tm min int tm hour int tm mday int tm mon int tm y
  • 是否可以将 Go 代码作为脚本运行?

    随着Go正在成为 系统 的语言 我想知道是否可以将 Go 代码作为脚本运行而不编译它 有可能这样做吗 动机 因为有关于动机的问题 取自如何使用 Scala 作为脚本语言 http alvinalexander com scala how t
  • go build 不断抱怨:go.mod 有 post-v0 模块路径

    Go 1 11 发布后 我一直在尝试将我的存储库移动到 Go 模块 方法是添加go mod文件在其根目录下 我的根库之一my host root其版本为17 0 1 所以我在其中写道go mod file module my host ro
  • Goroutine 是如何工作的? (或者:goroutines 和操作系统线程的关系)

    其他 goroutine 如何在调用系统调用时继续执行 当使用 GOMAXPROCS 1 时 据我所知 当调用系统调用时 线程会放弃控制权 直到系统调用返回 Go 如何在不为每个阻塞系统调用 goroutine 创建系统线程的情况下实现这种

随机推荐