方法
GLibVariantlookup_value
自 2.28 以来
声明 [src]
GVariant*
g_variant_lookup_value (
GVariant* dictionary,
const gchar* key,
const GVariantType* expected_type
)
描述 [src]
在GVariant字典中查找值。
此函数与类型为a{s}(同样适用于类型a{o},但在这里我们只讨论字符串案例以便于理解)的字典一起使用。
如果字典的类型为a{sv},则expected_type字符串指定了期望在变体内部找到的值类型。如果变体内值具有不同类型,则返回NULL。如果字典的值类型不是v,则expected_type必须直接匹配值类型,并用于直接解包值或出现错误。
在任一情况下,如果key在字典中未找到,则返回NULL。
如果找到了键,并且值具有正确的类型,则返回它。如果指定了expected_type,则所有非NULL返回值都将具有此类型。
此功能目前使用线性扫描实现。如果您打算进行很多查找,那么使用 GVariantDict
可能会更高效。
支持从:2.28 开始
参数
key
-
类型:
const gchar*
在字典中查找的键。
数据由方法调用者拥有。 值是一个以 NUL 结尾的 UTF-8 字符串。 expected_type
-
类型:
GVariantType
GVariantType
,或NULL
。参数可以是 NULL
。数据由方法调用者拥有。
返回值
类型: GVariant
字典键的值,或 NULL
。
方法的调用者将获得返回数据的所有权,并负责释放它。 |