示例#1
0
// AttachDirectory adds a dir.Directory to this Directory
// You likely would use the .Create() or .CreateDirectory() method instead, if available.
func (d *Directory) AttachDirectory(dirIn dir.Directory) error {
	d.Lock()
	defer d.Unlock()
	for _, child := range d.children {
		if child == dirIn {
			return dir.ErrExists
		}
	}
	err := dirIn.SetRoot(d.root)
	if err != nil {
		return err
	}
	d.children = append(d.children, dirIn)
	return nil
}