Как преобразовать эквивалентный код GO в код Java?
Я делаю вызов RPC, используя библиотеку Java, я беру ссылку из кода GO, который мне нужно преобразовать в Java. Я ничего не знаю о синтаксисе 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. Суммы - это список, содержащий пары ключ / значение, соответствующие адресам и сумме оплаты. Каждый выходной адрес может быть в формате taddr или zaddr. При отправке в zaddr у вас также есть возможность прикрепить заметку в шестнадцатеричном формате.
Это правильно?
1 ответ
Решение
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-й элемент - это другой массив,
- В котором 1-й элемент представляет собой хеш-карту строки с объектами (любого типа), которые вы уже создали.