package memblob
import "gocloud.dev/blob/memblob"
Package memblob provides an in-memory blob implementation. Use OpenBucket to construct a *blob.Bucket.
Open URLs
For blob.OpenBucket URLs, memblob registers for the scheme "mem"; URLs are always "mem://". For more details, see URLOpener.
As
memblob does not support any types for As.
Code:play
Output: Code:play
Output:Example¶
package main
import (
"context"
"fmt"
"log"
"gocloud.dev/blob/memblob"
)
func main() {
// Create an in-memory bucket.
b := memblob.OpenBucket(nil)
// Now we can use b to read or write files to the container.
ctx := context.Background()
err := b.WriteAll(ctx, "my-key", []byte("hello world"), nil)
if err != nil {
log.Fatal(err)
}
data, err := b.ReadAll(ctx, "my-key")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
}
hello world
Example (Open)¶
package main
import (
"context"
"fmt"
"log"
"gocloud.dev/blob"
)
func main() {
// Open creates a *blob.Bucket from a URL.
b, err := blob.OpenBucket(context.Background(), "mem://")
if err != nil {
log.Fatal(err)
}
// Now we can use b to read or write files to the container.
ctx := context.Background()
err = b.WriteAll(ctx, "my-key", []byte("hello world"), nil)
if err != nil {
log.Fatal(err)
}
data, err := b.ReadAll(ctx, "my-key")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
}
hello world
Index ¶
Examples ¶
Constants ¶
const Scheme = "mem"
Scheme is the URL scheme memblob registers its URLOpener under on blob.DefaultMux.
Functions ¶
func OpenBucket ¶
OpenBucket creates a *blob.Bucket backed by memory.
Types ¶
type Options ¶
type Options struct{}
Options sets options for constructing a *blob.Bucket backed by memory.
type URLOpener ¶
type URLOpener struct{}
URLOpener opens URLs like "mem://".
func (*URLOpener) OpenBucketURL ¶
OpenBucketURL returns a new in-memory bucket.
Source Files ¶
memblob.go
- Version
- v0.11.0
- Published
- Feb 28, 2019
- Platform
- darwin/amd64
- Imports
- 14 packages
- Last checked
- 40 minutes ago –
Tools for package owners.