dart:ffi
庫中Struct
類的用法介紹如下。
所有 FFI 結構類型的超類型。
FFI 結構類型應擴展此類並聲明與底層本機結構相對應的字段。
Struct 子類聲明中的字段聲明會自動獲得一個 setter 和 getter 實現,它訪問內存中的本機結構的字段。
Struct 子類聲明中的所有字段聲明必須具有類型 int 或 double 並使用表示本機類型的 NativeType 進行注釋,或者必須是類型 Pointer 。例如:
typedef struct {
int a;
float b;
void* c;
} my_struct;
class MyStruct extends Struct {
@Int32()
external int a;
@Float()
external double b;
external Pointer<Void> c;
}
Struct 子類聲明中的所有字段聲明都必須標記為 external
。您不能創建該類的實例,隻能讓它指向現有的本機內存,因此沒有用於存儲非本機字段的內存。外部字段也不能被構造函數初始化,因為沒有創建 Dart 對象。
Struct 的子類的實例具有引用語義,並由本機內存或類型化數據支持。它們可以通過分配分配或從Pointer 加載或由 ffi 調用或回調創建。它們不能由生成構造函數創建。
- 繼承
-
Object > NativeType > Struct
相關用法
- Dart StreamTransformer構造函數用法及代碼示例
- Dart String.replaceAll用法及代碼示例
- Dart Stream.fromFutures用法及代碼示例
- Dart StreamController用法及代碼示例
- Dart StringList.first用法及代碼示例
- Dart Stream.fold用法及代碼示例
- Dart Stream.map用法及代碼示例
- Dart String.fromCharCodes用法及代碼示例
- Dart StreamSubscription用法及代碼示例
- Dart String.trim用法及代碼示例
- Dart String.lastIndexOf用法及代碼示例
- Dart String.replaceRange用法及代碼示例
- Dart StringList.length用法及代碼示例
- Dart Stream.asBroadcastStream用法及代碼示例
- Dart Stream.handleError用法及代碼示例
- Dart String.toLowerCase用法及代碼示例
- Dart Stream.where用法及代碼示例
- Dart String.substring用法及代碼示例
- Dart Stream.reduce用法及代碼示例
- Dart String.length用法及代碼示例
- Dart Stream.join用法及代碼示例
- Dart Stream.error用法及代碼示例
- Dart Stream.periodic用法及代碼示例
- Dart Stream.take用法及代碼示例
- Dart String.padRight用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 Struct class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。