Awesome Go

pathtype

CategoryFile Handling
SubcategoryFile Handling
Stars0

Treat paths as their own type instead of using strings

About pathtype

pathtype

Treat paths as their own type instead of using strings. This small package wraps functions from the standard library to create a new Path type.

Example

Code

package main

import (
	"fmt"
	"log"

	pt "github.com/jonchun/pathtype"
)

type path = pt.Path

func main() {
	myFile := path("myfile.txt")
	exampleFile := path("example/example.txt")
	fmt.Println(exampleFile.Dir())
	fmt.Println(exampleFile.Dir().Join(myFile))

	res, err := exampleFile.Dir().Join(myFile).Dir().Abs()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(res)

	fmt.Println("=========================")
	listBase(res)
	fmt.Println("=========================")
	listExt(res)
}

// list all Base for files in p
func listBase(p path) {
	if glob, err := p.Glob("*"); err != nil {
		log.Fatal(err)
	} else {
		for _, match := range glob {
			fmt.Println(match.Base())
		}
	}
}

// list all extensions for files in p
func listExt(p path) {
	if glob, err := p.Glob("*"); err != nil {
		log.Fatal(err)
	} else {
		for _, match := range glob {
			fmt.Println(match.Ext())
		}
	}
}

Output

example
example/myfile.txt
/home/jonchun/example_module/example
=========================
1.log
2.log
example.txt
=========================
.log
.log
.txt

See GoDoc for documentation, but it should be pretty self-explanatory.

TODO

  • Update examples for all the methods and have 1-to-1 coverage of the official examples/docs.

Frequently Asked Questions

What is pathtype?

pathtype is a File Handling library for the Go programming language. Treat paths as their own type instead of using strings

How do I install pathtype?

Install pathtype with the Go module system using `go get jonchun/pathtype`. Check the repository for the current installation instructions.

What category does pathtype belong to?

pathtype is listed under File Handling, specifically File Handling.

← Back to File Handling