2013-09-11 14:10:45 +01:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"os"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func file(filename string, create bool) (*os.File, error) {
|
|
|
|
|
switch filename {
|
|
|
|
|
case "stdin":
|
|
|
|
|
return os.Stdin, nil
|
|
|
|
|
case "stdout":
|
|
|
|
|
return os.Stdout, nil
|
|
|
|
|
default:
|
|
|
|
|
var file *os.File
|
|
|
|
|
var err error
|
|
|
|
|
if create {
|
2013-11-05 15:37:49 +00:00
|
|
|
file, err = os.Create(filename)
|
2013-09-11 14:10:45 +01:00
|
|
|
} else {
|
|
|
|
|
file, err = os.Open(filename)
|
|
|
|
|
}
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return file, nil
|
|
|
|
|
}
|
|
|
|
|
}
|