函数

since: 2.24

声明 [src]

GVariant*
g_variant_new (
  const gchar* format_string,
  ...
)

描述 [src]

创建一个新的 GVariant 实例。

将此函数视为与 g_strdup_printf() 的类似物。

创建实例的类型以及此函数期望的参数由 format_string 确定。请参阅 GVariant 格式字符串 部分。请注意,格式字符串的语法在未来可能会扩展。

格式字符串的第一个字符不得为 ‘*’、‘?’、‘@’ 或 ‘r’;实际上,必须通过此函数始终构造新的 GVariant(而不仅仅是直接传递)。

请注意,参数必须是 format_string 中指定的类型正确的宽度。这可以通过类型转换来实现。请参阅 GVariant 变量参数文档

MyFlags some_flags = FLAG_ONE | FLAG_TWO;
const gchar *some_strings[] = { "a", "b", "c", NULL };
GVariant *new_variant;

new_variant = g_variant_new ("(t^as)",
                             // This cast is required.
                             (guint64) some_flags,
                             some_strings);

Available since: 2.24

此函数不可直接用于语言绑定。

参数

format_string

类型: const gchar*

一个 GVariant 格式字符串。

数据由函数的调用者拥有。
值是一个以 null 结束的 UTF-8 字符串。
...

类型:

根据 format_string 传递的参数。

返回值

类型: GVariant

一个新的浮点 GVariant 实例。

函数的调用者负责数据的拥有权和释放它。