You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: binary.go
    path of file: ./repos/scan4all/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt
    
    the code of the file until where you have to start completion: // Copyright (C) MongoDB, Inc. 2017-present.
//
// Licensed under the Apache License, Version
    
func newBinaryFromBytes(data []byte) *binary {
	if len(data) == 0 {
		return newBinary()
	}

	// We don't need C.CBytes here because data cannot go out of scope. Any mongocrypt function that takes a
	// mongocrypt_binary_t will make a copy of the data so the data can be garbage collected after calling.
	addr := (*C.uint8_t)(unsafe.Pointer(&data[0])) // uint8_t*
	dataLen := C.uint32_t(len(data))               // uint32_t
	return &binary{
		wrapped: C.mongocrypt_binary_new_from_data(addr, dataLen),
	}
}