在Go中有没有一种动态类型切片的方法?

问题描述 投票:0回答:1

我有一个针对PHP的标准响应,该响应是我要在Go中复制的微服务。特别是,响应数组的“ data”元素可以包含任何内容。

示例

$response['data'] = [];
$response['data']['entities'] = [ objects that implements toArray() ]
$response['data']['quantity'] = 1

问题是每个端点的数据不同。

所以我想的一个选择是在每个端点(控制器,动作等)中声明要在StandardResponse.Data结构中使用的Data结构。

但是我该如何实现?使用界面?

对不起,我是新手。

go struct slice
1个回答
0
投票

interface{}是执行此操作的一种方法。类似于:

type StandardResponse struct {
   Error    bool
   ErrorMsg string
   Data     interface{}
}

假设基本类型的interface{}支持它,将其编组为JSON即可。

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