如何解决在Go中调用Webassembly代码时如何返回Go字节数组?
我想计算斐波那契数列结果。这是我的Rust代码,它将返回给定数字的序列。
#[no_mangle]
pub extern "C" fn fibonacci(n: usize) -> Vec<i32> {
let mut x = vec![1,1];
for i in 2..n {
let next_x = x[i - 1] + x[i - 2];
x.push(next_x)
}
x
}
货物运行[1,1,2]
的结果
当我在go-ext-wasmer中调用此代码时,得到的输出无效。
bytes,_ := wasm.ReadBytes("fib.wasm")
instance,_ := wasm.NewInstance(bytes)
defer instance.Close()
randoms,err := instance.Exports["fibonacci"](3,0)
resp := randoms.ToI32()
if err != nil {
fmt.Println("error",err)
}
memory = instance.Memory.Data()
fmt.Println("fibonacci:",memory[resp:resp+10])
转到fibonacci: [10 0 0 144 0 17 0 2 0 0 0 2 0 0 0]
的结果
我如何从转账中获得正确的回报?我想要一个应该为[] byte格式的系列
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。