如何将等效的 GO 代码转换为 Java 代码?

How to convert equivalent GO code to Java code?

我正在使用 Java 库进行 RPC 调用,我正在引用需要转换为 java 的 GO 代码。我对 go 语法一无所知。谁能帮我描述一下下面的代码:

Params: []interface{}{
            from, // first parameter is address to send from (where the ZEC comes from)
            []interface{}{
                map[string]interface{}{
                    "amount":  msgval,
                    "address": to,
                    "memo":    hex.EncodeToString([]byte(msg)),
                },
            },

下面是方法,我正在尝试等效的 Java 代码:

Map<String,Object> params = new HashMap<>();
      params.put( "from", fromAddress );
      params.put( "amount", 1.0000 );
      params.put( "address", toAddress );
      params.put( "memo", hexMessage );

参数说明如下:

这是一个异步 RPC 调用。从一个发送资金 地址到多个输出。地址可以是 taddr 或 zaddr。金额是一个包含 key/value 的列表 对应于地址和支付金额的对。 每个输出地址可以是 taddr 或 zaddr 格式。 发送到 zaddr 时,您还可以选择 附上十六进制格式的备忘录。

这是正确的吗?

Params: []interface{}{
            from, // first parameter is address to send from (where the ZEC comes from)
            []interface{}{
                map[string]interface{}{
                    "amount":  msgval,
                    "address": to,
                    "memo":    hex.EncodeToString([]byte(msg)),
                },
            },

读起来大致是这样伪代码:

Params => Array<Object>(
    $from,
    Array<Object>(
       Hash<String, Object>(
           "amount" => msgval,
           "address" => to,
           "memo" => hex.EncodeToString(msg),
       )
    )
)

所以,无论放在 Params 中什么都是

  1. 一组对象(即任何类型),其中
  2. 第一个元素是 "from" 地址,
  3. 第二个元素是另一个数组,
  4. 其中第一个元素是字符串到对象的哈希映射 (任何类型),您已经创建。