func runExample(client *as.Client) { key, err := as.NewKey(*shared.Namespace, *shared.Set, "prependkey") shared.PanicOnError(err) binName := "prependbin" // Delete record if it already exists. client.Delete(shared.WritePolicy, key) bin := as.NewBin(binName, "World") log.Println("Initial prepend will create record. Initial value is ", bin.Value, ".") client.PrependBins(shared.WritePolicy, key, bin) bin = as.NewBin(binName, "Hello ") log.Println("Prepend \"", bin.Value, "\" to existing record.") client.PrependBins(shared.WritePolicy, key, bin) record, err := client.Get(shared.Policy, key, bin.Name) shared.PanicOnError(err) if record == nil { log.Fatalf( "Failed to get: namespace=%s set=%s key=%s", key.Namespace(), key.SetName(), key.Value()) } // The value received from the server is an unsigned byte stream. // Convert to an integer before comparing with expected. received := record.Bins[bin.Name] expected := "Hello World" if received == expected { log.Printf("Prepend successful: ns=%s set=%s key=%s bin=%s value=%s", key.Namespace(), key.SetName(), key.Value(), bin.Name, received) } else { log.Fatalf("Prepend mismatch: Expected %s. Received %s.", expected, received) } }