code: func (v *Variant) GetStrv() []string {
  	gstrv := C.g_variant_get_strv(v.native(), nil)
  	// we do not own the memory for these strings, so we must not use strfreev
  	// but we must free the actual pointer we receive.
  	c := gstrv
  	defer C.g_free(C.gpointer(gstrv))
  	var strs []string
  
  	for *c != nil {
  		strs = append(strs, C.GoString((*C.char)(*c)))
  		c = C.next_gcharptr(c)
  	}
  	return strs
  }
docs: // GetStrv returns a slice of strings from this variant.  It wraps
  // g_variant_get_strv, but returns copies of the strings instead.