| 2121 | } |
| 2122 | |
| 2123 | func ExampleBucket_ForEach() { |
| 2124 | // Open the database. |
| 2125 | db, err := bolt.Open(tempfile(), 0600, nil) |
| 2126 | if err != nil { |
| 2127 | log.Fatal(err) |
| 2128 | } |
| 2129 | defer os.Remove(db.Path()) |
| 2130 | |
| 2131 | // Insert data into a bucket. |
| 2132 | if err := db.Update(func(tx *bolt.Tx) error { |
| 2133 | b, err := tx.CreateBucket([]byte("animals")) |
| 2134 | if err != nil { |
| 2135 | return err |
| 2136 | } |
| 2137 | |
| 2138 | if err := b.Put([]byte("dog"), []byte("fun")); err != nil { |
| 2139 | return err |
| 2140 | } |
| 2141 | if err := b.Put([]byte("cat"), []byte("lame")); err != nil { |
| 2142 | return err |
| 2143 | } |
| 2144 | if err := b.Put([]byte("liger"), []byte("awesome")); err != nil { |
| 2145 | return err |
| 2146 | } |
| 2147 | |
| 2148 | // Iterate over items in sorted key order. |
| 2149 | if err := b.ForEach(func(k, v []byte) error { |
| 2150 | fmt.Printf("A %s is %s.\n", k, v) |
| 2151 | return nil |
| 2152 | }); err != nil { |
| 2153 | return err |
| 2154 | } |
| 2155 | |
| 2156 | return nil |
| 2157 | }); err != nil { |
| 2158 | log.Fatal(err) |
| 2159 | } |
| 2160 | |
| 2161 | // Close database to release file lock. |
| 2162 | if err := db.Close(); err != nil { |
| 2163 | log.Fatal(err) |
| 2164 | } |
| 2165 | |
| 2166 | // Output: |
| 2167 | // A cat is lame. |
| 2168 | // A dog is fun. |
| 2169 | // A liger is awesome. |
| 2170 | } |