35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| /*
 | |
| Package godirwalk provides functions to read and traverse directory trees.
 | |
| 
 | |
| In short, why do I use this library?
 | |
| 
 | |
| * It's faster than `filepath.Walk`.
 | |
| 
 | |
| * It's more correct on Windows than `filepath.Walk`.
 | |
| 
 | |
| * It's more easy to use than `filepath.Walk`.
 | |
| 
 | |
| * It's more flexible than `filepath.Walk`.
 | |
| 
 | |
| USAGE
 | |
| 
 | |
| This library will normalize the provided top level directory name based on the
 | |
| os-specific path separator by calling `filepath.Clean` on its first
 | |
| argument. However it always provides the pathname created by using the correct
 | |
| os-specific path separator when invoking the provided callback function.
 | |
| 
 | |
|     dirname := "some/directory/root"
 | |
|     err := godirwalk.Walk(dirname, &godirwalk.Options{
 | |
|         Callback: func(osPathname string, de *godirwalk.Dirent) error {
 | |
|             fmt.Printf("%s %s\n", de.ModeType(), osPathname)
 | |
|             return nil
 | |
|         },
 | |
|     })
 | |
| 
 | |
| This library not only provides functions for traversing a file system directory
 | |
| tree, but also for obtaining a list of immediate descendants of a particular
 | |
| directory, typically much more quickly than using `os.ReadDir` or
 | |
| `os.ReadDirnames`.
 | |
| */
 | |
| package godirwalk
 |