value
创建一个 Byte 类型的 Value, 并设置初始值为 default
创建一个 Short 类型的 Value, 并设置初始值为 default
创建一个 Int 类型的 Value, 并设置初始值为 default
创建一个 Long 类型的 Value, 并设置初始值为 default
创建一个 Float 类型的 Value, 并设置初始值为 default
创建一个 Double 类型的 Value, 并设置初始值为 default
创建一个 Char 类型的 Value, 并设置初始值为 default
创建一个 Boolean 类型的 Value, 并设置初始值为 default
创建一个 String 类型的 Value, 并设置初始值为 default
inline fun <T> PluginData.value(default: T, crossinline apply: T.() -> Unit = {}): SerializerAwareValue<T>
通过具体化类型创建一个 SerializerAwareValue, 并设置初始值.
2.11 起, 本函数会优先根据返回值推断类型. 如下示例:
var singleMessage: SingleMessage by value(PlainText("str")) // value 的类型为 SerializerAwareValue<SingleMessage>
Content copied to clipboard
这符合正常的类型定义逻辑.
Parameters
T
具体化参数类型 T. 在 2.11 以前, 支持:
基础数据类型
使用 kotlinx.serialization 的 Serializable 标记的, 可以通过反射获取 KSerializer 的类型
2.11 起, 还支持:
MessageSerializers 支持的所有类型, 如 MessageChain.
在 PluginData.serializersModule 自定义支持的类型
通过具体化类型创建一个 SerializerAwareValue.