31 lines
320 B
Go
31 lines
320 B
Go
package main
|
|
|
|
import (
|
|
"io"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
type DBReader interface {
|
|
io.ReadCloser
|
|
io.ReaderAt
|
|
}
|
|
|
|
type DB struct {
|
|
f DBReader
|
|
}
|
|
|
|
func main() {
|
|
f, err := os.Open("/dev/null")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
d := &DB{f}
|
|
data := make([]byte, 1)
|
|
_, _ = d.f.ReadAt(data, 0)
|
|
println("bye")
|
|
}
|
|
|
|
// Output:
|
|
// bye
|