code: func gValueSlice(values *C.GValue, nValues int) (slice []C.GValue) {
  	header := (*reflect.SliceHeader)((unsafe.Pointer(&slice)))
  	header.Cap = nValues
  	header.Len = nValues
  	header.Data = uintptr(unsafe.Pointer(values))
  	return
  }
docs: // gValueSlice converts a C array of GValues to a Go slice.