数值切片:[u8]
, [i8]
, [u16]
, [i16]
, [u32]
, [i32]
, [u64]
, [i64]
, [f32]
, [f64]
, [MaybeUninit<u8>]
, [MaybeUninit<i8>]
, [MaybeUninit<u16>]
, [MaybeUninit<i16>]
, [MaybeUninit<u32>]
, [MaybeUninit<i32>]
, [MaybeUninit<u64>]
, [MaybeUninit<i64>]
, [MaybeUninit<f32>]
, 和 [MaybeUninit<f64>]
T 参数 | &T 参数 | &mut T 参数 | T 返回值 | Option<&T> 参数 | Option<T> 返回值 | JavaScript 表示 |
---|---|---|---|---|---|---|
否 | 是 | 是 | 否 | 否 | 否 | 一个 JavaScript TypedArray 视图,表示 Wasm 内存中相应类型的装箱切片(Int32Array 、Uint8Array 等) |
注意: 数值
MaybeUninit<T>
在从 Rust 传输到 JS 以及反向传输时,始终可以假设为已初始化。但是,来自 Rust 的未初始化值可能包含未指定的值。
Rust 使用示例
# #![allow(unused_variables)] #fn main() { use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn take_number_slice_by_shared_ref(x: &[f64]) {} #[wasm_bindgen] pub fn take_number_slice_by_exclusive_ref(x: &mut [u8]) {} #}
JavaScript 使用示例
import {
take_number_slice_by_shared_ref,
take_number_slice_by_exclusive_ref,
} from './guide_supported_types_examples';
take_number_slice_by_shared_ref(new Float64Array(100));
take_number_slice_by_exclusive_ref(new Uint8Array(100));