本文整理汇总了Golang中io.Reader.Name方法的典型用法代码示例。如果您正苦于以下问题:Golang Reader.Name方法的具体用法?Golang Reader.Name怎么用?Golang Reader.Name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.Reader
的用法示例。
在下文中一共展示了Reader.Name方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewMap
// NewMap creates a new map from a given io.Reader
func NewMap(f io.Reader) (*Map, error) {
var target Map
data, err := ioutil.ReadAll(f)
if err != nil {
return nil, err
}
filename := ""
if f, ok := f.(*os.File); ok {
filename = filepath.Dir(f.Name()) + string(os.PathSeparator)
}
err = xml.Unmarshal(data, &target)
if err != nil {
return nil, err
}
target.filename = filename
for key, layer := range target.Layers {
if e := layer.Data.loadEncodedTiles(); e != nil {
return nil, e
}
target.Layers[key] = layer
}
return &target, nil
}
示例2: Open
// Open opens a FITS file in read-only mode.
func Open(r io.Reader) (*File, error) {
var err error
type namer interface {
Name() string
}
name := ""
if r, ok := r.(namer); ok {
name = r.Name()
}
f := &File{
dec: NewDecoder(r),
name: name,
mode: ReadOnly,
hdus: make([]HDU, 0, 1),
closers: make([]io.Closer, 0, 1),
}
defer func() {
if err != nil {
f.Close()
}
}()
if rr, ok := r.(io.Closer); ok {
f.closers = append(f.closers, rr)
}
for {
var hdu HDU
hdu, err = f.dec.DecodeHDU()
if err != nil {
if err != io.EOF {
return nil, err
}
err = nil
break
}
f.hdus = append(f.hdus, hdu)
f.closers = append(f.closers, hdu)
}
return f, err
}