go-judge/file/interface.go
2020-06-16 16:44:12 -04:00

27 lines
449 B
Go

package file
import (
"io"
"os"
)
// Opener opens the file in readonly mode
// caller should close afterwards
type Opener interface {
Open() (*os.File, error)
}
// ReaderOpener creates readCloser for caller
type ReaderOpener interface {
Reader() (io.ReadCloser, error)
}
// File defines file name with its content
// file could on file system or memory
type File interface {
Opener
ReaderOpener
Content() ([]byte, error)
Name() string
}