在函数参数中使用 GLib.Value
这个例子展示了如何在函数参数中传递几种类型:
static void print_value (Value val) {
print ("value-type : %s\n", val.type().name());
print ("value-content : %s\n\n", val.strdup_contents());
}
public static void main (string[] args) {
print_value (33);
print_value (24.46);
print_value ("string");
}
value-type : gint
value-content : 33
value-type : gdouble
value-content : 24.460000
value-type : gchararray
value-content : "string"
注意:如果 GObject 可以用’string’类型(gchararray) 转换你的值,‘strdup_contents’返回转换后的值,而不是指针地址
static void print_value (Value val) {
print ("value-type : %s\n", val.type().name());
print ("value-content : %s\n\n", val.strdup_contents());
}
public static void main (string[] args) {
print_value (new DateTime.now_local());
}
value-type : GDateTime
value-content : ((GDateTime*) 0x560337def040)