字符串

T 参数 &T 参数 &mut T 参数 T 返回值 Option<T> 参数 Option<T> 返回值JavaScript 表示
JavaScript 字符串值

使用 TextDecoderTextEncoder 将字符串的内容在 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"
}