字串
T 參數 | &T 參數 | &mut T 參數 | T 回傳值 | Option<T> 參數 | Option<T> 回傳值 | JavaScript 表示法 |
---|---|---|---|---|---|---|
是 | 否 | 否 | 是 | 是 | 是 | JavaScript 字串值 |
使用 TextDecoder
和 TextEncoder
在 JavaScript 垃圾回收堆積和 Wasm 線性記憶體之間來回複製字串的內容
注意:請務必查看
str
的文件,以了解在 JS 和 Rust 之間處理字串時的一些注意事項。
Rust 使用範例
# #![allow(unused_variables)] #fn main() { use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn take_string_by_value(x: String) {} #[wasm_bindgen] pub fn return_string() -> String { "hello".into() } #[wasm_bindgen] pub fn take_option_string(x: Option<String>) {} #[wasm_bindgen] pub fn return_option_string() -> Option<String> { None } #}
JavaScript 使用範例
import {
take_string_by_value,
return_string,
take_option_string,
return_option_string,
} from './guide_supported_types_examples';
take_string_by_value('hello');
let s = return_string();
console.log(typeof s); // "string"
take_option_string(null);
take_option_string(undefined);
take_option_string('hello');
let t = return_option_string();
if (t == null) {
// ...
} else {
console.log(typeof s); // "string"
}