package main import "strings" type Snapshot string func (s Snapshot) Path() string { s2 := strings.Split(string(s), `@`) return s2[0] } func (s Snapshot) Name() string { s2 := strings.Split(string(s), `@`) return s2[1] } func (s Snapshot) Append(path string) Snapshot { s2 := strings.Split(string(s), `@`) return Snapshot(s2[0] + "/" + path + "@" + s2[1]) }