如何使用Golang中的api编辑GCP的云存储中的现有数据

I am creating an application which is communicating with google datastore, to fetch the existing data, and perform add, edit and delete operations on that existing data. I am able to fetch the existing data, and delete the data there. But not getting how to edit/update the data there through api in golang.

Giving the code snippet which I am trying to execute for this :

    func EditCustomer(w http.ResponseWriter, r *http.Request){
    ctx := context.Background()
    params := mux.Vars(r)
    customer_id :=params["partner_id"]
    projectID := util.MustGetenv("GOOGLE_CLOUD_PROJECT")
    client, err := datastore.NewClient(ctx, projectID)
    if err != nil {
        log.Fatalf("Failed to create client: %v", err)
    }
    var customer models.Customer
    kind := util.MustGetenv("DATA_STORE_KIND") 
    ds.EditCustomer(client,kind,customer_id,&customer,ctx)
    json.NewEncoder(w).Encode(customer)
}

EditCustomer method in dao is as :

 func EditCustomer(client *datastore.Client,kind string ,name string,dst interface{},ctx context.Context) {
    taskKey := datastore.NameKey(kind, name, nil)

    < some methos here to edit and update itin datstorage  >
}

Please advise for this. Anybody there who working with api's dev in golang ?

I would update like this:

currentCustomer := &Customer{}
_, err := client.RunInTransaction(ctx, func(tx *datastore.Transaction) error {
    if getErr := tx.Get(key, currentCustomer); getErr != nil {
        return getErr
    }

    // edit your object

    var putErr error
    _, putErr = tx.Put(key, updatedCustomer)

    return putErr
})
if err != nil {
    return nil, err
}
_, err = client.Put(ctx, key, customer)