| 2020 | } |
| 2021 | |
| 2022 | func ExampleBucket_Put() { |
| 2023 | // Open the database. |
| 2024 | db, err := bolt.Open(tempfile(), 0600, nil) |
| 2025 | if err != nil { |
| 2026 | log.Fatal(err) |
| 2027 | } |
| 2028 | defer os.Remove(db.Path()) |
| 2029 | |
| 2030 | // Start a write transaction. |
| 2031 | if err := db.Update(func(tx *bolt.Tx) error { |
| 2032 | // Create a bucket. |
| 2033 | b, err := tx.CreateBucket([]byte("widgets")) |
| 2034 | if err != nil { |
| 2035 | return err |
| 2036 | } |
| 2037 | |
| 2038 | // Set the value "bar" for the key "foo". |
| 2039 | if err := b.Put([]byte("foo"), []byte("bar")); err != nil { |
| 2040 | return err |
| 2041 | } |
| 2042 | return nil |
| 2043 | }); err != nil { |
| 2044 | log.Fatal(err) |
| 2045 | } |
| 2046 | |
| 2047 | // Read value back in a different read-only transaction. |
| 2048 | if err := db.View(func(tx *bolt.Tx) error { |
| 2049 | value := tx.Bucket([]byte("widgets")).Get([]byte("foo")) |
| 2050 | fmt.Printf("The value of 'foo' is: %s\n", value) |
| 2051 | return nil |
| 2052 | }); err != nil { |
| 2053 | log.Fatal(err) |
| 2054 | } |
| 2055 | |
| 2056 | // Close database to release file lock. |
| 2057 | if err := db.Close(); err != nil { |
| 2058 | log.Fatal(err) |
| 2059 | } |
| 2060 | |
| 2061 | // Output: |
| 2062 | // The value of 'foo' is: bar |
| 2063 | } |
| 2064 | |
| 2065 | func ExampleBucket_Delete() { |
| 2066 | // Open the database. |