GenUI数据类型

GenUI将数据类型进行了抽象,分为11种类型:

  • USize:无符号整型
  • ISize:有符号整型
  • Double:浮点型,包含f32f64
  • Bool:布尔型
  • Vec:向量
  • String:字符串
  • Bind:绑定
  • Function:方法
  • Struct:结构体
  • Enum:枚举
  • Unknown:未知

这并不意味着您需要使用这些类型,只是GenUI在解析的时候会对涉及到的属性值进行类型抽象而已,您需要注意的是如何在模版中使用即可。

TIP

更多具体的内置数据类型请参考: 数据API

值解析与写法

  • template:表示在<template>标签中的使用方式
  • style:表示在<style>标签中的使用方式
解析类型
10USize(10)
-10ISize(-10)
10.0Double(10.0)
trueBool(true)
[10, 12]Vec[USize(10), USize(12)]
'Hello' templateString("Hello")
"Hello" styleString("Hello")
:age="user_age" templateBind([Ident("user_age")])
@clicked="click_btn()" templateFunction{ name:"click_btn", params: None}
color: rgb(12, 0, 255) styleFunction{ name:"rgb", params: [USize(12), USize(0), USize(255)]}
{x: 0.5}Struct{ name: None, fields: {"x": Double(0.5)} }
DarkEnum{ field_chain: [EnumItem::Leaf("Dark", None)] }
Themes::DarkEnum{ field_chain: [EnumItem::Root("Themes"), EnumItem::Leaf("Dark", None)] }
12.0 10.0Unknown("12.0 10.0")