получить аргументы двумерного массива как js .Value и получить массив ([] js .Value) - PullRequest
0 голосов
/ 18 июня 2020

Я использую «syscall / js» для экспорта функции Go -WebAssembly в JavaScript. Функция в Go должна быть такой:

fun c x (this js .Value, args [] js .Value) interface {}

Теперь я хочу передать двумерный массив от JavaScript до Go. Я получаю его (это [] [] байт в JavaScript) как args [0] , это просто js .Value, которое не поддерживает индексацию, например args [0 ] [i] , поэтому я не могу обработать его дальше, например,

buffer := make([][]byte, args[0].Length())
for i:=0; i<len(buffer); i++{
    js.CopyBytesToGo(buffer[i], args[0][i])
}

Информация об ошибке будет:

недопустимая операция: args [0] [i ] (тип js .Value не поддерживает индексацию)

Что я могу сделать, чтобы правильно получить args [0] как двумерный массив [] js .Value? Я пытался получить аргументы [0] с помощью интерфейса {}, но это не сработало.

1 Ответ

0 голосов
/ 18 июня 2020

Ну, я сам нашел ответ, согласно документу пакета syscall / js. Решение состоит в том, чтобы использовать args [0] .Index (int i) как массив js .Value 1-d, который мне нужен. Спасибо за просмотр моего вопроса.

...